Description 用选择法对n个整数按从大到小的顺序进行排序。 Input 第一行输入一个整数n,n不超过1000。 第二行输入n个整数。 Output 输出n个数从大到小排序的结果。c语言oj系统
时间: 2024-12-15 08:18:51 浏览: 22
在C语言中,选择排序是一种简单直观的排序算法,用于对一组数据进行排序。对于n个整数,我们可以先找到最大的元素,然后将其放在第一位,接着在剩余元素中找到最大值放到第二位,依此类推直到整个序列有序。以下是使用选择法实现从大到小排序的C语言代码:
```c
#include <stdio.h>
void selectionSort(int arr[], int n) {
for (int i = 0; i < n - 1; i++) {
int maxIndex = i; // 初始化最大值索引为当前元素
for (int j = i + 1; j < n; j++) { // 遍历剩余元素找最大值
if (arr[j] > arr[maxIndex])
maxIndex = j;
}
// 将找到的最大值与当前位置交换
if (maxIndex != i) {
int temp = arr[i];
arr[i] = arr[maxIndex];
arr[maxIndex] = temp;
}
}
}
int main() {
int n;
scanf("%d", &n); // 输入数组长度
int arr[n];
// 输入n个整数
for (int i = 0; i < n; i++)
scanf("%d", &arr[i]);
// 对数组进行降序排序
selectionSort(arr, n);
// 输出排序后的数组
for (int i = 0; i < n; i++)
printf("%d ", arr[i]);
printf("\n");
return 0;
}
```
在这个程序中,`selectionSort` 函数执行了选择排序的过程,首先读取用户输入的n个整数,然后按照选择排序算法递减它们的顺序。最后,主函数打印出排序后的结果。
阅读全文