有关于数组的问题怎么解?🥸

输入10个整数,保存在一维数组a[10]中,找出
其中的最小值,并将最小值元素和数组第一个元
素值交换。
例如输入:10 5 8 2 3 6 7 1 9 4
输出:1 5 8 2 3 6 7 10 9 4
输出结果中每个数字占3列的宽度。

#include <stdio.h>
int main()
{
    int a[10],i,min,t;
    for(i=0;i<10;i++)
    {
        scanf("%d",&a[i]);
        if(i==0 || a[min] > a[i])
            min = i;
    }
    t = a[min];
    a[min] = a[0];
    a[0] = t;
    for(i=0;i<10;i++)
      printf("%3d",a[i]);
}

供参考:

#include <stdio.h>
int main()
{
    int a[10], i = 0, min, min_i;
    while (i < 10)
    {
        scanf("%d", &a[i]);
        if (i == 0)
            min = a[i], min_i = i;
        else if (min > a[i])
        {
            min = a[i]; min_i = i;
        }
        i++;
    }
    if (min_i != 0)
        min = a[0], a[0] = a[min_i], a[min_i] = min;
    for (i = 0; i < 10; i++)
        printf("%3d", a[i]);
    return 0;
}