/*用选择法对10个整数排序*/
#include <stdio.h>
int main()
{
int i,min,flag,t,j,k;
int a[10];//={1,5,3,4,8,0,6,9,2,7};
printf("请输入10个数字:\n");
for(i = 0;i < 10;i ++)
scanf("%d",&a[i]);
printf("排序前:\n");
for(i = 0;i < 10;i ++)
printf("%d,",a[i]);
printf("\b ");
printf("\n");
for(i = 0;i < 10;i ++)
{
min = a[i];
flag = 0;
for(j = i + 1;j < 10;j ++)
{
if(a[j] < min)
{
flag = 1;
min = a[j];
k = j;//记录最小点的下标
}
}
if(flag == 1)
{
t = a[i];
a[i] = a[k];
a[k] = t;
}
}
printf("排序后:\n");
for(i = 0;i < 10;i ++)
printf("%d,",a[i]);
printf("\b ");
printf("\n");
}
谭浩强C程序设计(第四版)p168第2题
题目要求用选择法,我就使用了简答选择法,但是时间复杂度有点高。