我想在已经排列好的数组中,插入一个10,为什么这个程序不对,麻烦各位修改一下
3条回答 默认 最新
- a5156520 2023-10-14 09:33关注
第224行会数组越界,然后还有其他地方需要修改下。
修改如下:#include <stdio.h> int main(void){ // 因为需要存储11个整数,所以这里数组a定义为包含11个元素的int数组 int a[11] = {1,2,5,14,44,66,77,88,99,100}; int i = 0; int y = 0; int b = 10; // 因为下面的if判断使用了a[i+1],所以为了避免数组越界,这里i最大到8 for(i = 0; i < 9; i++){ if(b>a[i]&&b<a[i+1]){ y = i + 1; break; } } for(i=9;i>=y;i--){ a[i+1]=a[i]; } // 将数组后半部分元素后移后,再将b的值插入到数组下标y的位置 a[y]=b; for(i=0;i<11;i++){ printf("%d ",a[i]); } return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 用C语言写离散数学相关问题
- ¥30 如何用python的GephiStreamer连接到gephi中,把Python和Gephi的具体操作过程都展示,重点回答Gephi软件的调试,以及如果代码的端口在浏览器中无法显示怎么处理
- ¥15 ansys机翼建模肋参数
- ¥15 Sumo软件无法运行
- ¥15 如何在vscode里搭建stata的编辑环境?
- ¥15 dify知识库创建问题
- ¥15 如何用C#的chart画1000万个点不卡顿
- ¥15 爬虫技术找到网上看过房源客户的电话
- ¥20 代码:Python随机森林反演生物量数据处理问题
- ¥15 Linux系统的命令行窗口回车变成了换行,无法执行命令了