如何使用C语言实现一个程序,让用户输入六个整数,然后通过冒泡排序算法将它们按降序排列显示出来?
时间: 2024-11-13 16:39:40 浏览: 9
C语言 统计数字的出现频率,并将出现频率最高的前100个数字按照降序排列后写入到文件中
在C语言中,你可以使用以下步骤实现这个功能:
1. 首先,你需要创建一个函数来接收用户输入并存储这六个整数。可以使用`scanf`函数,例如:
```c
#include <stdio.h>
int input_numbers(int arr[], int size) {
for (int i = 0; i < size; i++) {
scanf("%d", &arr[i]);
}
return 0;
}
```
2. 然后,编写冒泡排序函数,这里我们重点是降序排列,所以比较和交换是逆向进行的:
```c
void bubble_sort_descending(int arr[], int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - 1 - i; j++) {
if (arr[j] < arr[j + 1]) { // 如果前一个元素小于后一个元素,则交换位置
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
```
3. 主函数中调用这两个函数,获取用户输入,然后对数组进行排序,并打印结果:
```c
int main() {
int numbers[6]; // 创建一个包含6个元素的数组
int n = sizeof(numbers) / sizeof(numbers[0]);
if (input_numbers(numbers, n) != 0) {
printf("Error getting inputs.\n");
return 1;
}
bubble_sort_descending(numbers, n);
printf("Sorted in descending order:\n");
for (int i = 0; i < n; i++) {
printf("%d ", numbers[i]);
}
printf("\n");
return 0;
}
```
阅读全文