用scanf输入数组并用选择法排序
时间: 2023-07-20 21:05:52 浏览: 89
下面是使用 scanf 输入数组并用选择法排序的示例代码:
```c
#include <stdio.h>
int main() {
int n, i, j, temp, min_idx;
printf("输入数组的长度:");
scanf("%d", &n);
int arr[n];
printf("输入 %d 个整数:", n);
for (i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
// 选择排序
for (i = 0; i < n - 1; i++) {
min_idx = i;
for (j = i + 1; j < n; j++) {
if (arr[j] < arr[min_idx]) {
min_idx = j;
}
}
temp = arr[min_idx];
arr[min_idx] = arr[i];
arr[i] = temp;
}
// 输出排序后的数组
printf("排序后的数组:");
for (i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
首先,我们使用 `scanf` 函数输入数组的长度和元素,然后使用选择排序法对数组进行排序。选择排序法的基本思想是,从未排序的部分中找到最小的元素,然后将它与未排序部分的第一个元素交换位置。这个过程重复执行,直到整个数组都被排序。最后,我们输出排序后的数组。
阅读全文