用c语言的选择排序法编写程序实现在主函数中首先输入一个整数N(1<N<=100),然后再输入N个整数存入数组中,然后用选择排序法对数组中的N个元素从大到小排序,最后输出数组所有元素。 输入样例: 10 1 2 59 8 75 6 12 55 23 10 输出样例: 75 59 55 23 12 10 8 6 2 1
时间: 2024-02-11 21:07:26 浏览: 64
C语言 选择排序法
好的,这是一个经典的排序算法题目,下面是实现该题目的C语言代码:
```c
#include <stdio.h>
void selectionSort(int arr[], int n) {
int i, j, maxIndex, temp;
for (i = 0; i < n-1; i++) {
maxIndex = i;
for (j = i+1; j < n; j++) {
if (arr[j] > arr[maxIndex]) {
maxIndex = j;
}
}
temp = arr[i];
arr[i] = arr[maxIndex];
arr[maxIndex] = 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]);
}
printf("\n");
return 0;
}
```
在上面的代码中,我们定义了一个 `selectionSort` 函数来实现选择排序,该函数接受两个参数:一个整数数组 `arr` 和数组的长度 `n`。在该函数中,我们使用了两个嵌套的循环来实现选择排序的过程。外层循环从数组的第一个元素开始遍历到倒数第二个元素,内层循环从外层循环的下一个元素开始遍历到数组的最后一个元素,查找当前未排序部分中的最大元素并将其放到已排序部分的末尾。
在 `main` 函数中,我们首先接受一个整数 `n`,然后创建一个长度为 `n` 的整数数组 `arr`,并通过循环从标准输入中读入 `n` 个整数存入该数组中。接下来,我们调用 `selectionSort` 函数对数组 `arr` 进行排序,最后通过循环输出排序后的数组元素。
注意,此代码仅作为参考实现,可能存在缺陷。如果您在使用中发现了任何问题,请及时反馈。
阅读全文