C语言编译玩完后 输入数据回车 后怎么没反映

#include<stdio.h>
void main()
{
int i,j,t;
int a[10];
printf("Input nums:\n");
for(i=0;i<=9;i++)
scanf("d%",a[i]);
printf("\n");
for(j=0;j<=8;j++)
{
for(i=0;i<=i-j;i++)
if(a[i]>a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
}
printf("the soretd numbers :\n");
for(i=0;i<=9;i++)
printf("%d",a[i]);
printf("\n");
}这是程序 输入数据的方法说下 谢谢
你这方法也不好用啊

要先运行,在弹出黑屏内输入你的数据回车再进入用户界面,就可以看到结果.两个命令都在RUN彩旦栏里

我这可是标准教材的方法啊,我这学期学的C不会这么快就忘了吧,你的程序没错???

经查,楼主程序存在多出错误,我将正确程序发出来咯,这个程序你是想按大小排列吧?输入方法是输入一个数就回车一次,输完了十个数就会自动回去界面

#include<stdio.h>
void main()
{
int i,j,t;
int a[10];
printf("Input nums:\n");
for(i=0;i<=9;i++)
scanf("%d",&a[i]);
printf("\n");
for(j=0;j<=9;j++)
{
for(i=0;i<=8-j;i++)
if(a[i]>a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
}
printf("the soretd numbers :\n");
for(i=0;i<=9;i++)
printf("%d\t",a[i]);
printf("\n");
}

参考资料:楼主多给点分好不咯,好辛苦的类,就这么一点点分,谢谢了

温馨提示:答案为网友推荐,仅供参考
第1个回答  2007-08-20
这是输入数据后回车造成的,C语言把回车符也接收了。
解决方法是在输入语句后加getchar(); 一次可以吃掉一个回车符。
局部改为:
for(i=0;i<=9;i++)
{
scanf("d%",a[i]);
getchar();
}
第2个回答  2007-08-20
哈哈!是程序执行的太快,一闪而过,所以你看不到输出的结果,建议在程序末尾加getchr(),这样就可以看到运算结果了。
第3个回答  2007-08-20
你的
for(i=0;i<=9;i++)
scanf("d%",a[i]);
写错了,是%d而不是d%!
你试试