在主函数中首先输入一个整数N(1<N<=100),然后再输入N个整数存入数组中,然后用选择排序法对数组中的N个元素从大到小排序,最后输出数组所有元素。用c语言完成
时间: 2024-02-09 15:13:15 浏览: 125
好的,以下是代码实现:
```c
#include <stdio.h>
void selection_sort(int arr[], int len) {
int i, j, max_idx, tmp;
for (i = 0; i < len - 1; i++) {
max_idx = i;
for (j = i + 1; j < len; j++) {
if (arr[j] > arr[max_idx]) {
max_idx = j;
}
}
tmp = arr[i];
arr[i] = arr[max_idx];
arr[max_idx] = tmp;
}
}
int main() {
int n, i;
int arr[100];
scanf("%d", &n);
for (i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
selection_sort(arr, n);
for (i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
以上代码中,我们首先通过 `scanf` 函数输入了整数 `N` 和数组中的元素,然后调用 `selection_sort` 函数进行选择排序,最后输出排序后的数组元素。`selection_sort` 函数中,我们使用了选择排序算法,每次找到未排序部分中最大的元素,交换到已排序部分的最后面。
阅读全文