C语言实现正整数降序排序(冒泡排序算法)
C语言实现正整数降序排序(冒泡排序算法)
本文将介绍如何使用C语言代码实现对输入的正整数进行降序排序,并使用冒泡排序算法完成排序操作。
问题描述: 输入一个正整数n(1 <n≤10),再输入n个整数,将它们从大到小排序后输出。(利用教材中介绍的选择、冒泡、插入排序中的一个算法完成排序操作)
解决方案: 我们可以使用冒泡排序算法来对输入的n个整数进行从大到小的排序。
冒泡排序的基本思想是通过不断交换相邻的元素,将最大的元素逐渐'冒泡'到数组的末尾。具体步骤如下:
- 从键盘输入一个正整数n和n个整数,存储到一个数组中。
- 使用冒泡排序算法进行排序。
- 外层循环控制比较的轮数,每一轮比较都能确保最大的元素'冒泡'到数组的末尾。
- 内层循环进行相邻元素的比较,如果前面的元素比后面的元素大,则交换它们的位置。
- 输出排序后的数组。
下面是使用冒泡排序算法实现的完整代码:
#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 著作权归作者所有。请勿转载和采集!