设计程序实现一维数组int a[10]的冒泡降序排列并输出排序结果。要求数组元素值从键盘给定。
时间: 2024-12-14 08:25:25 浏览: 9
C语言《一维数组和冒泡算法》完整版资料.ppt
在C语言中,你可以使用嵌套循环来实现冒泡排序算法,对于一维整数数组`a[10]`,以下是如何实现冒泡降序排列并输出排序结果的步骤:
首先,你需要定义一个函数来获取用户输入的10个整数并将它们存储到数组中:
```c
#include <stdio.h>
void input_array(int a[], int size) {
for (int i = 0; i < size; i++) {
printf("Enter element %d: ", i + 1);
scanf("%d", &a[i]);
}
}
```
接下来,编写冒泡排序函数,该函数采用降序排列:
```c
void bubble_sort_descending(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;
}
}
}
}
```
然后,在主函数中调用这两个函数,并打印排序后的数组:
```c
int main() {
int a[10];
int n = sizeof(a) / sizeof(a[0]); // 获取数组长度
input_array(a, n);
bubble_sort_descending(a, n);
printf("Sorted array in descending order:\n");
for (int i = 0; i < n; i++) {
printf("%d ", a[i]);
}
printf("\n");
return 0;
}
```
现在,运行这个程序,用户将能够输入10个整数,然后看到它们按降序排列的结果。
阅读全文