定义了一个长度为11的数组,先输入10个数排序,再输入一个数插入其中进行排序。
但是会出现随机数,求各位指点
一维数组先进行排序再插入一个数重新排序
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- qzjhjxj 2022-11-10 22:24关注
供参考:
#include<stdio.h> const int N = 11; int main() { int n = 10, x, i, j; int a[N]; scanf("%d", &n); //输入 n for (i = 0; i < n; i++) // 输入n个数组元素 scanf("%d", &a[i]); for (i = n - 1;i > 0; i--){ //降序排序 for (j = 0;j < i; j++){ if (a[j] < a[j+1]) x = a[j], a[j] = a[j+1], a[j+1] = x; } } scanf("%d", &x); //输入 x: 待插入的数 if (x < a[n - 1]){ // 插入操作 a[n] = x; } else{ for (i = n; x > a[i - 1] && i > 0; i--) { a[i] = a[i - 1]; } a[i] = x; } for (i = 0; i < n + 1; i++)//输出 插入后的有序数列 printf("%4d", a[i]); printf("\n"); return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥100 set_link_state
- ¥15 虚幻5 UE美术毛发渲染
- ¥15 CVRP 图论 物流运输优化
- ¥15 Tableau online 嵌入ppt失败
- ¥100 支付宝网页转账系统不识别账号
- ¥15 基于单片机的靶位控制系统
- ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
- ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
- ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
- ¥15 手机接入宽带网线,如何释放宽带全部速度