大一新生,结果和想的不一样,检查了很久也没看出问题,求好心人帮忙看下问题出在哪了
#include<stdio.h>int main()
{
printf("请输入10个整数,空格键隔开,回车将它们从小到大输出\n");
int a[10]=t,i,j,n;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=1;i<10;i++)
{
for(j=0,n=0,t=a[0];j<10-i;j++)//遍历的数量会依次减少,因为每一次最大的已经放后面了,只需要找剩下数字中最大的就行
{
if(a[j+1]>=t)
{
t=a[j+1];
n=j+1;
}
}
if(n=10-i);//如果刚好还剩n个数又是第n个最大,就不需要对这个数字进行操作
else
a[j]=a[10-i];
a[10-i]=t;//把最大的从后往前放
}
printf("它们从小到大排列的顺序是:");
for(i=0;i<10;i++)
printf("%d ",a[i]);
return 0;
}
[此贴子已经被作者于2019-12-11 21:36编辑过]