#include <stdio.h>#include <string.h>#define M 5
void exc(int*a,int*(*p)(int*), int*(*q)(int*))
{
int c, *m, *n;
m = p(a);
n = q(a);
c = *m;
*m = *n;
*n = c;
}
int*max(int*a)
{
int*t;
t = a;
for (int i = 1; i < M; ++i)
{
if (*t < *(t + 1))
{
t = t + 1;
}
}
printf("max = %d\n", *t);
return t;
}
int*min(int*a)
{
int*t;
t = a;
for (int i = 1; i < M; ++i)
{
if (*t > *(t + i))
{
t += i;
}
}
printf("min = %d\n", *t);
return t;
}
int main(int argc, char const *argv[])
{
int a[M];
for (int i = 0; i < M; ++i)
{
scanf("%d", &a[i]);
}
int*(*p)(int*), *(*q)(int*);
p = min;
q = max;
exc(a, p, q);
for (int i = 0; i < M; ++i)
{
printf("%d ", a[i]);
}
return0;
}