数组中数据排序,运行出的排序结果存在问题,不知道代码怎么修改
把最后输出的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;
}
如果以上回答对您有所帮助,点击一下采纳该答案~谢谢