C语言 编写程序,用起泡法对数组a中前n个元素进行分段排序,其中前一半为从小到大排序,后一半为从大到小排序,...
时间: 2024-03-07 14:50:06 浏览: 15
好的,下面是 C 语言代码实现:
```c
#include <stdio.h>
void bubble_sort(int a[], int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (a[j] > a[j + 1]) {
int temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
}
int main() {
int n;
printf("请输入数组元素个数:");
scanf("%d", &n);
int a[n];
printf("请输入数组元素:");
for (int i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
int mid = n / 2;
bubble_sort(a, mid); // 前一半从小到大排序
bubble_sort(a + mid, n - mid); // 后一半从大到小排序
for (int i = 0; i < n; i++) {
printf("%d ", a[i]);
}
printf("\n");
return 0;
}
```
首先定义了一个 bubble_sort 函数,实现了冒泡排序的功能。然后在 main 函数中输入数组元素,以及数组元素个数 n。接着定义 mid 变量为数组的一半长度,对数组前一半(从 0 到 mid-1)进行从小到大排序,对数组后一半(从 mid 到 n-1)进行从大到小排序。最后输出排序后的数组。
相关推荐
![c](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![c](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)