#include <stdio.h>
void swap(int *a, int *b)
{
printf("%d, %d\n", *a, *b);
int t = *a;
*a = *b;
*b = t;
}
void max_min(int *p, int n)
{
int l = n;
int *max = p, *min = p;
while (n--) {
min = *p > *min ? min : p;
p++;
}
swap(min, --p);
while (l--) {
max = *p > *max ? p : max;
p--;
}
swap(max, ++p);
}
void output(int array[], int n)
{
int *p = array;
while (n--)
printf("%d ", *p++);
printf("\n");
}
int main(void)
{
int i;
int n;
int buf[128];
printf("input count of array:");
scanf("%d", &n);
printf("input %d num:", n);
for (i = 0; i < n; i++)
scanf("%d", &buf[i]);
max_min(buf, n);
output(buf, n);
return 0;
}
追问话说不大对哇。。
追答话说我验证过的哇
追问原来是多了printf("%d, %d\n", *a, *b);这一句,还是谢谢你了
追答咋回事?你编译那错误是咋来的?