修改如下,供参考:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <limits.h>
int main()
{
int n, min, i, k;
while (scanf("%d", &n) == 1 && n != 0) { //scanf("%d", n) 修改
min = INT_MAX; k = 0;
int* a = (int*)malloc(sizeof(int) * n); //int *a=malloc(sizeof(int)*n); 修改
memset(a, 0, sizeof(int) * n);
for (i = 0; i < n; i++) {
scanf("%d", &a[i]);
min = a[i] < min ? (k = i, a[i]) : min; // 修改
}
if (k != 0) { // 修改
min = a[k]; a[k] = a[0]; a[0] = min; // 修改
}
for (i = 0; i < n; i++)
printf(i == 0 ? "%d" : " %d", a[i]); // 修改
printf("\n");
free(a);
}
printf("END!");
return 0;
}