(4)排序算法(Cprog0404.c) 题目描述:对输入的n个整数序列按从大到小的顺序输出。 输入格式:在第一行中输入一个整数n(0<n≤100);第二行输入n个整数,整数之 间用空格隔开。 输出格式:在一行中输出从大到小的有序数列,整数之间用空格隔开。
时间: 2024-12-20 09:18:39 浏览: 16
这是一个简单的排序问题,可以使用冒泡排序、选择排序、快速排序等常见的排序算法来解决。这里假设我们使用的是选择排序作为例子,因为它直观且代码简洁。以下是基本的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;
}
}
// 交换最大值和当前位置的元素
int temp = arr[i];
arr[i] = arr[maxIndex];
arr[maxIndex] = temp;
}
}
int main() {
int n;
scanf("%d", &n);
int arr[n];
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
selectionSort(arr, n);
printf("排序后的数组(从大到小):");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
这个程序首先读取输入的整数,然后使用选择排序遍历数组找到最大的元素并将其放在正确的位置,直到整个数组排序完毕。最后输出排序后的结果。
阅读全文