用C语言编写输入正整数n,在输入n个整数,将这n个整数从大到小排序输出
时间: 2024-11-10 09:14:27 浏览: 45
在C语言中,你可以使用冒泡排序算法来实现这个功能。下面是一个简单的示例,它会提示用户输入正整数n,并读取n个整数,然后对它们进行降序排列并输出:
```c
#include <stdio.h>
void bubble_sort(int arr[], int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - 1 - i; j++) {
if (arr[j] < arr[j + 1]) {
// 交换元素
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
int main() {
int n, num;
printf("请输入一个正整数n: ");
scanf("%d", &n);
// 确保数组大小足够存储n个整数
int* arr = malloc(n * sizeof(int));
if (!arr) {
printf("内存分配失败\n");
return 1;
}
printf("请输入%d个整数:\n", n);
for (int i = 0; i < n; i++) {
scanf("%d", &num);
arr[i] = num;
}
bubble_sort(arr, n);
printf("从大到小排序后的结果是:\n");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
free(arr); // 释放动态分配的内存
return 0;
}
```
阅读全文