|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
请问如下代码:
#include<stdio.h>
int main()
{
int a[10], b=0, c, e;
printf("请输入十个数:\n");
scanf("%d", &a[b]);
for (b = 0; b <= 9; b++);
for (c = 0; c < 9; c++)
for (b = 0; b < 9 - c; b++)
if (a[b] > a[b + 1])
{
e = a[b];
a[b] = a[b + 1];
a[b + 1] = e; //把两个值交换
}
printf("它们从小到大排列顺序为;\n");
for (b = 0; b <= 9; b++)
printf("%d", a[b]);
return 0;
}
为什么执行是乱码?用了好几个编辑器都不行,还有就是,对于数组值的输入,就是那句scanf,是不是每个数用空格隔开?恳请大神解答疑惑!
错误全在注释中了
- #include<stdio.h>
- int main()
- {
- int a[10], b, c, e;
- printf("请输入十个数:\n");
- for (b = 0; b <= 9; b++) // 多了一个分号
- scanf("%d",&a[b]); // 与一语句顺序错误
- for (c = 0; c < 9; c++)
- {
- for (b = 0; b <= 9 - c; b++) // 缺少一个等于号,最后一个元素会被遗漏
- {
- if (a[b] < a[b + 1]) // 所谓起泡,就是大数冒出来,所以应该使用小于号
- {
- e = a[b];
- a[b] = a[b + 1];
- a[b + 1] = e; //把两个值交换
- }
- } // 缺少花括号
- } // 缺少花括号
- printf("它们从小到大排列顺序为;\n");
- for (b = 0; b <= 9; b++)
- printf("%d ", a[b]);
- return 0;
- }
复制代码
|
|