例60:C语言实现用选择法对10个整数排序。
解析:选择排序思路如下,设有10个元素a[1]a[10],将a[1]与a[2]a[10],若a[1]比a[2]~a[10]都小,则不进行交换,即无任何操作。
若a[2]a[10]中有一个以上比a[1]小,则将其中最大的一个,与a[1]交换,此时a[1]中存放了10个中最小的数。依次类推,共进行9轮比较,a[1]a[10]就已按由小到大的顺序存放了。
整体代码逻辑为了让读者更加清晰,小林这里分为四部分:
第一部分 键盘输入10个数:
for(i=1;i<=10;i++)//依次键盘录入10个数据
{
printf("array[%d]=",i-1);//数组下标从0开始
scanf("%d",&array[i]);
}
第二部分 输出键盘录入的10个数:
for(i=1;i<=10;i++)//将键盘录入的10个数原样输出
{
printf("%5d",array[i]);
}
第三部分 排序逻辑:
for(i=1;i<=9;i++)
{
min=i;//把第一个数作为最小的
for(j=i+1;j<=