用c语言写一段代码,要求从键盘读入n个整数,对这些数做选择排序。输出选择排序每一步的结果和最终结果。
时间: 2024-02-18 10:59:57 浏览: 83
C语言程序设计-编写程序。从键盘读入8个整数存入数组a中并输出这8个数据。和、最大值、最小值及平均值。正数之和、负数之和
5星 · 资源好评率100%
好的,以下是用 C 语言实现选择排序的示例代码:
```c
#include <stdio.h>
int main() {
int n;
scanf("%d", &n);
int nums[n];
for (int i = 0; i < n; i++) {
scanf("%d", &nums[i]);
}
for (int i = 0; i < n; i++) {
int min_idx = i;
for (int j = i+1; j < n; j++) {
if (nums[j] < nums[min_idx]) {
min_idx = j;
}
}
int tmp = nums[i];
nums[i] = nums[min_idx];
nums[min_idx] = tmp;
for (int k = 0; k < n; k++) {
printf("%d ", nums[k]);
}
printf("\n");
}
return 0;
}
```
这个代码会先读入一个整数n,表示接下来会有n个整数。然后,读入n个整数,存放在一个数组中。接下来,使用选择排序算法对这个数组进行排序,并输出每一步的排序结果和最终结果。
运行这段代码,输入样例为:
```
5
3 1 4 1 5
```
输出结果为:
```
1 3 4 1 5
1 1 4 3 5
1 1 3 4 5
1 1 3 4 5
1 1 3 4 5
```
其中,每一行表示一次排序后的结果,最后一行表示最终排序结果。
阅读全文