c语言:做作业遇到问题了,希望有人解答

数组中数据排序,运行出的排序结果存在问题,不知道代码怎么修改

img

把最后输出的printf放在循环外,单独写一个循环
还有j<8而不是j<9

#include <stdio.h>

int main()
{
    int a[8]={21,31,145,123,13,143,1234,1245};
    int i,j,k,min,temp;
    for(i=0;i<8;i++)
    {
        min =i;
        k=i+1;
        for(j=k;j<8;j++)
        {
            if(a[j]<a[min])
                min=j;
        }
        temp=a[i];
        a[i]=a[min];
        a[min]=temp;
    }
    for(i=0;i<8;i++)
    {
        printf("%d ",a[i]);
    }
    return 0;
}

如果以上回答对您有所帮助,点击一下采纳该答案~谢谢