c语言编程 从键盘输入10个数,用选择法将其按小到大顺序排
时间: 2024-03-07 10:46:52 浏览: 130
下面是一个用选择排序法将10个数按从小到大顺序排列的C语言程序:
```c
#include <stdio.h>
void selection_sort(int arr[], int n);
int main() {
int arr[10];
int i;
printf("请输入10个数:\n");
for (i = 0; i < 10; i++) {
scanf("%d", &arr[i]);
}
selection_sort(arr, 10);
printf("排序后的结果为:\n");
for (i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
void selection_sort(int arr[], int n) {
int i, j, min_idx, tmp;
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;
}
}
if (min_idx != i) {
tmp = arr[i];
arr[i] = arr[min_idx];
arr[min_idx] = tmp;
}
}
}
```
在这个程序中,我们使用`selection_sort()`函数来实现选择排序。函数`selection_sort()`接受一个整型数组`arr`和一个整数`n`作为参数,其中`arr`是待排序的数组,`n`是数组的长度。在`selection_sort()`函数中,我们使用两个嵌套的循环来实现选择排序的核心算法。外层循环用来遍历整个数组,内层循环则用来查找未排序部分中最小的元素。在每次内层循环结束之后,我们将找到的最小元素与当前外层循环指向的元素交换位置。这样,经过`n-1`次外层循环,整个数组就会被排好序。
在`main()`函数中,我们首先从键盘输入10个数,并将它们存储到数组`arr`中。然后,我们调用`selection_sort()`函数来对`arr`数组进行排序。最后,我们输出排好序的结果。
阅读全文