对于函数bubbleSorto,可以通过简单的修改以降序进行排序。在每种情况下,识别所需的更改,然后重新连接函数以接受一个标志,指示排序应按递增或递减顺序。修改例程以正确接收和使用此标志参数。
2条回答 默认 最新
- 技术专家团-小桥流水 2022-11-15 13:57关注
可以增加1个参数,来控制升序还是降序,代码如下:
#include <stdio.h> //flag = 1时表示升序,0则表示降序 void bubbleSorto(int a[], int n, int flag) { int i, j, t; for (i = 0; i < n - 1; i++) { for (j = 0; j < n - 1 - i; j++) { if ((flag == 1 && a[j] > a[j + 1]) || (flag == 0 && a[j] < a[j + 1])) { t = a[j]; a[j] = a[j + 1]; a[j + 1] = t; } } } } int main() { int a[10], i; printf("请输入10个数:"); for (i = 0; i < 10; i++) scanf("%d", &a[i]); printf("升序排列:\n"); bubbleSorto(a, 10, 1); for (i = 0; i < 10; i++) printf("%d ", a[i]); printf("\n降序排列:\n"); bubbleSorto(a, 10, 0); for (i = 0; i < 10; i++) printf("%d ", a[i]); return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 DS18B20内部ADC模数转换器
- ¥15 做个有关计算的小程序
- ¥15 MPI读取tif文件无法正常给各进程分配路径
- ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
- ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下
- ¥15 setInterval 页面闪烁,怎么解决
- ¥15 如何让企业微信机器人实现消息汇总整合
- ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
- ¥15 如何用Python爬取各高校教师公开的教育和工作经历
- ¥15 TLE9879QXA40 电机驱动