c语言中输入一个正整数n,再输入n个整数,将他们从大到小排序后输出
时间: 2024-05-15 20:16:46 浏览: 26
以下是实现代码:
```
#include <stdio.h>
void sort(int arr[], int n); // 声明排序函数
int main() {
int n, i;
printf("请输入正整数n:");
scanf("%d", &n);
int arr[n];
printf("请输入%d个整数:\n", n);
for (i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
sort(arr, n); // 调用排序函数
printf("排序后的结果为:\n");
for (i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
void sort(int arr[], int n) {
int i, j, temp;
for (i = 0; i < n - 1; i++) {
for (j = i + 1; j < n; j++) {
if (arr[i] < arr[j]) { // 如果前面的数比后面的数小,则交换位置
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
```
运行效果如下:
```
请输入正整数n:5
请输入5个整数:
1 3 5 2 4
排序后的结果为:
5 4 3 2 1
```