如何使用C语言实现一维整数数组的降序排列算法?
时间: 2024-12-14 11:23:35 浏览: 44
在C语言中,你可以手动编写冒泡排序、选择排序或插入排序等简单算法来实现一维整数数组的降序排列。这里以冒泡排序为例,因为其易于理解,但效率较低。以下是冒泡排序的一个版本:
```c
#include <stdio.h>
void bubble_sort_descending(int arr[], int n) {
int i, j;
int temp;
for (i = 0; i < n-1; i++) { // 遍历所有数组元素
for (j = 0; j < n-i-1; j++) { // 每次遍历都减少最后一个未排序部分的元素
if (arr[j] < arr[j+1]) { // 当前元素小于下一个元素时交换
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
int main() {
int numbers[] = {5, 9, 1, 7, 3};
int array_size = sizeof(numbers)/sizeof(numbers[0]);
printf("Before sorting: ");
for (int i = 0; i < array_size; i++) {
printf("%d ", numbers[i]);
}
bubble_sort_descending(numbers, array_size);
printf("\nAfter sorting in descending order: ");
for (int i = 0; i < array_size; i++) {
printf("%d ", numbers[i]);
}
return 0;
}
```
在这段代码中,`bubble_sort_descending`函数通过不断比较相邻元素并交换它们的位置,直到整个数组按照降序排列。
阅读全文
相关推荐


















