c语言输入n个数怎么从大到小排序

avatar
作者
筋斗云
阅读量: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循环输出排序后的结果。

注意:在使用冒泡排序算法时,数组元素的类型应为可比较的类型,例如整数、浮点数等,而不是指针类型、结构体类型等。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!