阅读量:0
可以使用冒泡排序算法来实现从大到小排序。
冒泡排序的基本思想是,从第一个元素开始,依次比较相邻的两个元素,如果前一个元素大于后一个元素,则交换它们的位置,这样一趟下来,最大的元素就会被交换到最后的位置。然后再从第一个元素开始,进行第二次比较,以此类推,直到所有元素都排好序。
以下是使用冒泡排序算法实现从大到小排序的示例代码:
#include <stdio.h> void bubbleSort(int arr[], int n) { for (int i = 0; i < n - 1; i++) { for (int j = 0; j < n - i - 1; j++) { if (arr[j] < arr[j + 1]) { // 交换两个元素的位置 int temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } } int main() { int n; printf("请输入需要排序的数字个数:"); scanf("%d", &n); int arr[n]; printf("请输入%d个数字:", n); for (int i = 0; i < n; i++) { scanf("%d", &arr[i]); } bubbleSort(arr, n); printf("从大到小排序后的结果为:"); for (int i = 0; i < n; i++) { printf("%d ", arr[i]); } return 0; }
这段代码首先获取输入的数字个数n,然后创建一个大小为n的数组arr,用于存储输入的数字。接下来,使用for循环依次将n个数字保存到数组中。然后调用bubbleSort函数对数组进行排序。最后,使用for循环输出排序后的结果。
注意:在使用冒泡排序算法时,数组元素的类型应为可比较的类型,例如整数、浮点数等,而不是指针类型、结构体类型等。