将给定的n个整数从大到小排序后输出。c语言代码
时间: 2024-12-10 13:47:53 浏览: 23
在C语言中,你可以使用标准库函数`qsort()`来进行数组的快速排序。如果你想手动编写冒泡、选择或插入排序等简单的排序算法,这里是一个插入排序的例子,它会将给定的整数数组从大到小排列:
```c
#include <stdio.h>
// 插入排序,从大到小
void insertion_sort_descending(int arr[], int n) {
for (int i = 1; i < n; ++i) {
int key = arr[i];
int j = i - 1;
while (j >= 0 && arr[j] > key) { // 从右向左比较并交换,保持较大元素在右侧
arr[j + 1] = arr[j];
j--;
}
arr[j + 1] = key;
}
}
// 打印数组
void print_array(int arr[], int n) {
for (int i = 0; i < n; ++i) {
printf("%d ", arr[i]);
}
printf("\n");
}
int main() {
int n;
printf("Enter the number of elements: ");
scanf("%d", &n);
int arr[n];
printf("Enter the numbers: ");
for (int i = 0; i < n; ++i) {
scanf("%d", &arr[i]);
}
insertion_sort_descending(arr, n);
printf("Numbers in descending order: ");
print_array(arr, n);
return 0;
}
```
运行此程序,用户将输入整数个数和数值,然后数组会被打印出按照从大到小的顺序。
阅读全文