C程序设计 第六章课后习题2
“用选择法对十个整数排序”
首先定义一个长度为10的数组用来存储十个整数 "a[10]"
需要注意的是长度为10的数组下标范围为1~9,在改变下标数值时要注意防止数组范围溢出
↓数组范围溢出的提示
主要通过一个两层嵌套的for语句实现冒泡排序
- for (j = 0; j < 9; j++) //进行九次循环,实现九轮比较
- for (i = 0; i < 9 - j; i++) //每一轮中进行9-j次比较
- if (a[i] > a[i + 1]) //相邻两个数进行比较
- {
- t = a[i]; a[i] = a[i + 1]; a[i + 1] = t;
- }
完整程序(在vs2017内调试通过)
#include<stdio.h>
int main()
{
int a[10], i, j, t;
printf("input ten numbers\n");
for (i = 0; i < 10; i++)
scanf_s("%d", &a[i]);
printf("\n");
for (j = 0; j < 9; j++)
for (i = 0; i < 9 - j; i++)
if (a[i] > a[i + 1])
{
t = a[i]; a[i] = a[i + 1]; a[i + 1] = t;
}
printf("output\n");
for (i = 0; i < 10; i++)
printf("%d ", a[i]);
printf("\n");
return 0;
}
(for循环后面一定不要打;!)