1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
| #include<stdio.h>
void MinMax(int* arrayA,int n,int* minmax);
void main() { int minmax[2]={0}; int arrayA[10]={4,1,5,7,0,2,5,3,2,9}; int n=sizeof(arrayA)/sizeof(int);
MinMax(arrayA,n,minmax);
printf("Min=%d Max=%d\n",minmax[0],minmax[1]); }
void MinMax(int* arrayA,int n,int* minmax) { int min=0; int max=0;
if(n%2==0) { if(arrayA[0]>arrayA[1]) { max=arrayA[0]; min=arrayA[1]; } else { max=arrayA[1]; min=arrayA[0]; }
for(int i=2;i<n-1;i++) { if(arrayA[i]>arrayA[i+1]) { if(arrayA[i]>max) max=arrayA[i]; if(arrayA[i+1]<min) min=arrayA[i+1]; } else { if(arrayA[i+1]>max) max=arrayA[i+1]; if(arrayA[i]<min) min=arrayA[i]; }
} } else { max=min=arrayA[0]; for(int j=1;j<n-1;j++) { if(arrayA[j]>arrayA[j+1]) { if(arrayA[j]>max) max=arrayA[j]; if(arrayA[j+1]<min) min=arrayA[j+1]; } else { if(arrayA[j+1]>max) max=arrayA[j+1]; if(arrayA[j]<min) min=arrayA[j]; } } } minmax[0]=min; minmax[1]=max; }
|