【0931】 2023-10-14 09:31 采纳率: 86.4%
浏览 3
已结题

C语言程序为什么会这样呢

img


我想在已经排列好的数组中,插入一个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;
        
    } 
    
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 10月22日
  • 已采纳回答 10月14日
  • 创建了问题 10月14日

悬赏问题

  • ¥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系统的命令行窗口回车变成了换行,无法执行命令了