#include<stdio.h>
int main()
{
int a[10];
int i,t,j,m;
for(i=0;i<=9;i++)
{
scanf("%d ",&a[i]);
}
for(i=0;i<9;i++)
{
t=i;
for(j=i+1;j<=9;j++)
if(a[t]<a[j])
t=j;
m=a[i];
a[i]=a[t];
a[t]=m;
}
for(i=0;i<=9;i++)
{
printf("%d",a[i]);
if(i!=9) printf(" ");
}
return 0;
}
运行时打上10个数后回车必须要再输入一个随便的数再回车才能出正确答案,请大神看下哪里有问题。
改一个地方就行了
#include<stdio.h>
int main()
{
int a[10];
int i,t,j,m;
for(i=0;i<=9;i++)
{
scanf("%d",&a[i]);//去掉%d后面的空格scanf("%d ",&a[i]);
}
for(i=0;i<9;i++)
{
t=i;
for(j=i+1;j<=9;j++)
if(a[t]<a[j])
t=j;
m=a[i];
a[i]=a[t];
a[t]=m;
}
for(i=0;i<=9;i++)
{
printf("%d",a[i]);
if(i!=9) printf(" ");
}
return 0;
}