识别题目 1.用选择法对10个整数升序排序。10个整数用scanf函数输入。 💡解答 以下是使用 C 语言通过选择法对 10 个整数进行升序排序的代码及详细解释:
时间: 2024-11-06 14:35:43 浏览: 22
```c
#include <stdio.h>
// 选择法排序函数
void selectionSort(int arr[], int n) {
for (int i = 0; i < n - 1; i++) { // 遍历所有元素
int minIndex = i; // 初始化最小值索引为当前索引
// 查找剩余未排序部分的最小值
for (int j = i + 1; j < n; j++) {
if (arr[j] < arr[minIndex]) {
minIndex = j;
}
}
// 如果找到最小值的位置不是当前索引,交换它们
if (minIndex != i) {
int temp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = temp;
}
}
}
int main() {
int num[10]; // 存放10个整数
printf("请输入10个整数:\n");
// 使用scanf读取10个整数并存储到数组num中
for (int i = 0; i < 10; i++) {
scanf("%d", &num[i]);
}
// 对数组进行选择排序
selectionSort(num, 10);
printf("排序后的结果为:\n");
for (int i = 0; i < 10; i++) {
printf("%d ", num[i]);
}
printf("\n");
return 0;
}
```
在这个程序中,我们首先定义了一个`selectionSort`函数,它采用选择法的基本原理,通过多次查找未排序部分的最小值,将其放到已排序部分的最后。然后,在主函数中,用户通过`scanf`输入10个整数,并将它们传递给排序函数,最后打印出排序的结果。
阅读全文