编写程序,实现输入一个整数n,再对输入的n个数进行从大到小排序
时间: 2024-10-24 11:07:54 浏览: 26
编写程序实现以下功能:从键盘输入十个整数,用冒泡法排序后按从小到大输出
在C语言中,我们可以使用标准库函数`qsort()`来对一组整数进行排序,这里假设你要对用户输入的数组进行排序。以下是实现的一个简单例子:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h> // 引入时间库,用于生成随机数进行演示
// 定义比较函数,用于qsort()
int compare(const void *a, const void *b) {
return (*(int*)b - *(int*)a); // 升序排列
}
void sort_array(int arr[], int n) {
qsort(arr, n, sizeof(int), compare);
}
int main() {
int n, i;
printf("请输入整数的数量(n): ");
scanf("%d", &n);
int input[n]; // 假设用户输入的是一个大小固定的数组
for (i = 0; i < n; i++) {
printf("请输入第 %d 个数: ", i + 1);
scanf("%d", &input[i]);
}
sort_array(input, n);
printf("按照从大到小排序后的结果:\n");
for (i = 0; i < n; i++) {
printf("%d ", input[i]);
}
return 0;
}
```
这段程序首先获取用户输入的整数数量,然后读取这组数并存储在数组`input`中。接着调用`sort_array()`函数对数组进行排序,最后遍历并打印出排序后的结果。
如果你想让用户输入任意长度的数组,可以考虑使用动态内存分配,但上述示例仅适用于已知大小的数组。
阅读全文