#include <iostream.h>#include <limits.h> //包含INT_MAX,INT_MIN的標頭檔 int nMax = INT_MIN; //將INT_MIN設為當前最大值的初始值int nMin = INT_MAX;/////記錄比較最大值函數void Max(int& nNum){ nMax = nNum > nMax ? nNum : nMax ;}/////記錄比較最小值函數void Min(int& nNum){nMin = nMin < nNum ? nMin : nNum; }void Max_Min(int nData[],int nLen){if (nLen%2 == 1) //待測資料為奇數 { //待測資料為奇數,最值初始值均設為nData[0] Max(nData[0]); Min(nData[0]); for (int i=1;i<=(nLen-1)/2;i++) { if (nData[i]>nData[nLen-i]) { Max(nData[i]); Min(nData[nLen-i]); } else { Max(nData[nLen-i]); Min(nData[i]); } } } else //待測序列為偶數 { for (int i=0;i<nLen/2;i++) { if (nData[i]>nData[nLen-i-1]) { Max(nData[i]); Min(nData[nLen-i-1]); } else { Max(nData[nLen-i-1]); Min(nData[i]); } } }}void main(){ //測試序列 int nData[] = {3,2,5,9,5,2,1,13,0,-1,43}; int nLen = sizeof(nData)/sizeof(nData[0]);Max_Min(nData,nLen); cout<<"nMax = "<<nMax<<endl<<"nMin = "<<nMin<<endl;}