关于数组的,这个是一维数组,然后后半句我不太明白

这个好难啊,写了两次了都没通过,代码到底是什么呢主要用的是一维数组,不太擅长

img

设置变量min记录最小元素的值,loc记录最小元素下标,遍历数组发现有小于min的元素就将值赋给min,下标赋给loc。最后判断这个元素是否为第一个元素,如果不是就将它与数组第一个元素交换。

#include<stdio.h>

int main()

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

你是不会写,还是写了错误。这个很简单的,我觉得你应该就是错在最后的格式上,%3d就可以了