一个大一基础的数组题不太难

img

img

改一下

#include <stdio.h>
main()
{
    int i,n,max,index;
    int arr[1201];
    while(1){
        scanf("%d",&n);
        max = 0;
        index = 0;
        if(n == 0) return 0;
        for(i = 0;i < n;i++){
            scanf("%d", &arr[i]);
            if(arr[i] > max){
                max = arr[i];
                index = i;
            }
        }
        if(index != 0){
            int temp = arr[0];
            arr[0] = max;
            arr[index] = temp;
        }
        for(i = 0;i < n;i++){
            printf("%d",arr[i]);
            if(i < n){
                printf(" ");
            }
        }
        printf("\n");   
    }
}

有两个地方可以注意一下: int arr[1201]; //arr[0]? int arr[1200]可能更好。
if(i < n){
printf(" ");
} //?for(i=0; i<n; i++) 似乎应该是if(i<n-1)