解题思路:从第一个数开始依次比较相邻两数的大小,小的往后挪,比九次之后,最小的数挪到末尾输出末尾的数,然后再从头比8次,以此类推,相当于每次选最小的数输出
注意事项:第一次比较9次,往后要比上个循环少比一次
参考代码:
int a[10],i,b,c;
for (i = 0; i < 10; i++)
{
scanf("%d", &a[i]);
}
for ( i = 0; i < 10; i++)
{
for (b = 0; b < 9-i; b++)//每次输出后要比上个循环少比一次
{
if (a[b]<a[b+1])//比较相邻两数的大小
{
c = a[b + 1];
a[b + 1] = a[b];
a[b] = c;//小的往后挪
}
}
printf("%i\n",a[b]); //这里注意不能用a[b+1],因为最后一个循环结束后b会执行b++,如果再+1,输出结果会出错
}
0.0分
0 人评分
Tom数 (C语言代码)浏览:736 |
C语言训练-排序问题<2> (C++代码)(sort函数)浏览:1581 |
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:745 |
C语言程序设计教程(第三版)课后习题1.6 (C++代码)浏览:902 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:540 |
C语言程序设计教程(第三版)课后习题8.8 (C语言代码)浏览:1433 |
数组与指针的问题浏览:718 |
1071题解浏览:493 |
永远的丰碑 (C语言代码)浏览:525 |
简单的a+b (C语言代码)浏览:830 |