qq1053782317 2019-01-09 16:55 采纳率: 50%
浏览 459

数组的删除与添加如果没有在数组里删除原有的数字 执行插入时就报错

int shuzu=5; //定义了数组元素的个数
int powers[]={11,22,33,44,55};
int shanchu; //需要删除的数字
int xiabiao=-1; //找到删除数字的下标
int charu;
int i ,j; //循环变量
printf("请输入要删除的数字");
scanf("%d",&shanchu);
// 使用循环找到需要删除后的那个的数字
for (i=0;i<shuzu;i++)
{
if(shanchu==powers[i])
{
//记录下当前的下标
xiabiao=i;
break; //找到了删除的数字就跳出

      }
  }
 //根据判断是否找到
 if(-1==xiabiao)
 {
     printf("没有找到");

 }
 else
 {    //从找到的下标开始,后面一个覆盖前面一个数字
     for(i=xiabiao;i<shuzu-1;i++)
     {
         powers[i]=powers[i+1];
     }
     //删除完后,一定要记得数组的长度-1
     shuzu--;
     printf("删除后的结果为;\n");
     for (i=0;i<shuzu;i++)
   {
    printf("%d\t",powers[i]);
   }
 }

//删除之后进行插入
printf("\n");
printf("输入需要插入的值");
scanf("%d",&charu);
powers[shuzu]=charu;
//打印
for (i=0;i<=shuzu;i++)//注意现在的数组长度需要+1
{
    printf("%d\t",powers[i]);
}

图片说明
我这个代码如果没有在数组里删除原有的数字 执行插入时就报错
图片说明
求大佬帮我看看问题出在哪里

  • 写回答

1条回答 默认 最新

  • devmiao 2019-01-10 00:09
    关注

    你可以先仔细调试下,如果调试不出来,采纳了姐姐的回答,姐姐帮你看看

    评论

报告相同问题?

悬赏问题

  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?