在主函数中首先输入一个整数N(1<N<=100),然后再输入N个整数存入数组中,然后用选择排序法对数组中的N个元素从大到小排序,最后输出数组所有元素。C语言实现
时间: 2024-03-02 22:53:13 浏览: 169
好的,以下是实现代码:
```c
#include <stdio.h>
void selectionSort(int arr[], int n) {
int i, j, maxIdx, temp;
for (i = 0; i < n-1; i++) {
maxIdx = i;
for (j = i+1; j < n; j++) {
if (arr[j] > arr[maxIdx]) {
maxIdx = j;
}
}
temp = arr[i];
arr[i] = arr[maxIdx];
arr[maxIdx] = temp;
}
}
int main() {
int n, i;
scanf("%d", &n);
int arr[n];
for (i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
selectionSort(arr, n);
for (i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
这里我们首先定义了一个 `selectionSort` 函数,用于实现选择排序算法。然后在 `main` 函数中,我们先读入一个整数 `n`,表示要排序的元素个数。接下来,我们定义一个长度为 `n` 的整型数组 `arr`,并通过循环读入 `n` 个整数存入数组中。然后,我们调用 `selectionSort` 函数对数组 `arr` 进行从大到小的排序。最后,我们再通过循环依次输出数组中的所有元素。
阅读全文