选择排序
查找数组范围内最小的值跟第一个值交换 k记录最小值下标
int main(int argc,const char *argv[])
{
int a[20];
int cnt=0;
int k;
for (int i=0; i<20; i++) {
scanf("%d", &a[i]);
cnt++;
if (getchar()=='\n') {
break;
}
}
for (int i=0; i<cnt-1; i++) {
int k=i;//K 记录最小值下标
for (int j=i+1; j<cnt; j++) {//求出最小值的下标
if (a[k]>a[j]) {
k=j;
}
}
if (k!=i) {
int temp =a[i];
a[i]=a[k];
a[k]=temp;
}
}
for (int i=0; i<cnt; i++) {
printf("%d ", a[i]);
}
putchar('\n');
return 0;
}