#include <stdio.h> #include <time.h> #include <stdlib.h> #define N 9 void maxmin(int A[], int n, int *min, int *max) { int i; int k = n / 2; int iTemp; for (i = 0; i < k; ++i) if (A[i] <= A[i+k]) { iTemp = A[i]; A[i] = A[i+k]; A[i+k] = iTemp; } *max = A[0], *min = A[k]; for (i = 1; i < k; ++i) if (*max < A[i]) *max = A[i]; for (i = k; i < n; ++i) if (*min > A[i]) *min = A[i]; if (n - 2*k) *max = *max > A[n-1] ? *max : A[n-1]; } int main(void) { int A[N]; int max,min,i; srand(time(NULL)); for ( i = 0; i < N; ++i) A[i] = rand() % 100; for ( i = 0; i < N; ++i) printf("%d ",A[i]); printf("/n"); maxmin(A,N,&min,&max); printf("max = %d, min = %d/n",max,min); return 0; }