#include<stdio.h>
int main( )
{ int i, j, t, a[10];
printf("请输入10个整数:");
for(j = 0; j<10; j++)
scanf("%d", &a[j]); /* 从键盘输入l0个数 */
printf("\n");
for( i = 0; i < 9; i++) /* 外循环,循环9次 */
for( j = i+1; j < 10; j++) /* 内循环 */
if( a[i] > a[j]) /* 如果前面的数比后面的大 */
{
t = a[i];
a[i] = a[j];
a[j] = t;
} /* 交换位置 */
printf("排序之后:\n");
for( j = 0; j < 10; j++)
printf("%4d", a[j]); /* 输出排序后的数 */
return 0;
}
(2)排序方法如下:
① 第1轮用a[0]依次与a[2],a[3],…,a[9]进行比较,若次序不对就交换,否则不交换。本轮结束后,a[0]中就是10个数中的最小数。
② 第2轮用a[1]依次与a[2],…,a[9]进行比较,处理方法与①相同。本轮结束后,a[1] 中为10个数中的次小数。
③ 重复上述过程,至第9轮,比较a[8]与a[9],把小者存入a[8],此时a[9]存放的就是最大数。到此为止,10个数已按升序排好。
(3)完成上述操作需采用二重循环结构,外循环变量i从0循环到8,共循环9次;内循环变量j从i+1循环到9。