登 录
#include<iostream> using namespace std; struct minmax { int min; int max; }; minmax find_minmax(int *a,int n) { int min=0,max=0; if(n%2) { min=max=a[0]; int i=1; while(i<n) { if(a[i]<a[i+1]) { if(a[i]<min) min=a[i]; if(a[i+1]>max) max=a[i+1]; } else { if(a[i]>max) max=a[i]; if(a[i+1]<min) min=a[i+1]; } i+=2; } } else { if(a[0]>a[1]) { max=a[0]; min=a[1]; } else { min=a[0]; max=a[1]; } int i=2; while(i<n) { if(a[i]<=a[i+1]) { if(a[i]<min) min=a[i]; if(a[i+1]>max) max=a[i+1]; } else { if(a[i]>max) max=a[i]; if(a[i+1]<min) min=a[i+1]; } i+=2; } } minmax temp={min,max}; return temp; } int main() { int a[]={1,2,3,-9,90,822,-2831,222,-99}; int n=sizeof(a)/sizeof(*a); minmax temp = find_minmax(a,n); cout<<"min= "<<temp.min<<"/nmax= "<<temp.max<<endl; }
抱歉!评论已关闭.