C语言实现正整数降序排序(冒泡排序算法)

本文将介绍如何使用C语言代码实现对输入的正整数进行降序排序,并使用冒泡排序算法完成排序操作。

问题描述: 输入一个正整数n(1 <n≤10),再输入n个整数,将它们从大到小排序后输出。(利用教材中介绍的选择、冒泡、插入排序中的一个算法完成排序操作)

解决方案: 我们可以使用冒泡排序算法来对输入的n个整数进行从大到小的排序。

冒泡排序的基本思想是通过不断交换相邻的元素,将最大的元素逐渐'冒泡'到数组的末尾。具体步骤如下:

  1. 从键盘输入一个正整数n和n个整数,存储到一个数组中。
  2. 使用冒泡排序算法进行排序。
    • 外层循环控制比较的轮数,每一轮比较都能确保最大的元素'冒泡'到数组的末尾。
    • 内层循环进行相邻元素的比较,如果前面的元素比后面的元素大,则交换它们的位置。
  3. 输出排序后的数组。

下面是使用冒泡排序算法实现的完整代码:

#include <stdio.h>

void bubbleSort(int arr[], int n) {
   int i, j;
   for (i = 0; i < n-1; i++) {
       for (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;
   scanf('%d', &n);
   
   int arr[n];
   for (int i = 0; i < n; i++) {
       scanf('%d', &arr[i]);
   }
   
   bubbleSort(arr, n);
   
   for (int i = 0; i < n; i++) {
       printf('%d ', arr[i]);
   }
   printf('\n');
   
   return 0;
}

这个程序先读取正整数n,然后读取n个整数,存储到数组中。接下来调用 bubbleSort 函数对数组进行排序,最后依次打印排序后的数组元素。


原文地址: https://www.cveoy.top/t/topic/n6e 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录