用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 16:07:28 浏览: 100
好的,这是一个经典的排序算法题目。下面是实现该题目的C语言代码:
```c
#include <stdio.h>
int main() {
int n, i, j, maxIndex, temp;
scanf("%d", &n);
int arr[n];
for (i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
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;
}
for (i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
在上面的代码中,我们没有使用 `selectionSort` 函数,而是将选择排序的代码直接放在了 `main` 函数中。在该代码中,我们首先读入一个整数 `n`,然后创建一个长度为 `n` 的整数数组 `arr`,并通过循环从标准输入中读入 `n` 个整数存入该数组中。
然后,我们使用两个嵌套的循环来实现选择排序。外层循环从数组的第一个元素开始遍历到倒数第二个元素,内层循环从外层循环的下一个元素开始遍历到数组的最后一个元素,查找当前未排序部分中的最大元素并将其放到已排序部分的末尾。
最后,我们通过循环输出排序后的数组元素。
注意,此代码仅作为参考实现,可能存在缺陷。如果您在使用中发现了任何问题,请及时反馈。
阅读全文