C语言键盘输入10个整数,按大小顺序输出要求用选择法。输出排序后的整数,数和数之间有一个空格。求大神

#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;

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-04-17
第二个for为啥不等于9的呢