现输入10个整数,要求对其使用选择法进行排序,具体思路如下:
首先,将a[1]与a[2],a[3]...依次比较,如果a[1]是最小的,则不进行更改;若a[1]大于某一数组元素,则将这个元素与a[1]交换,再用交换的数组与后来者进行比较,如此即可,代码如下:
#include <stdio.h>
int main()
{
int a[10], i, j, t;
for (i = 0; i < 10; i++) {
printf("a[%d]=", i);
scanf_s("%d", &a[i]);
}
for (i = 0; i < 9; i++) {
for (j = i + 1; j < 10; j++) {
if (a[i] > a[j]) {
t = a[i];
a[i] = a[j];
a[j] = t;
}
}
}
for (i = 0; i < 10; i++)
printf("%d ", a[i]);
printf("\n");
return 0;
}
结果如下: