星痕࿐ 2024-06-03 12:34 采纳率: 46.2%
浏览 1

C语言程序改错题。哪里错了,两处错误

两处错误,哪里错了?
如下:

img


代码:

#include <stdio.h>
    int main(void)
    {
    int a[10],i,num;
    for(i=0;i<10;i++)
    scanf("%d",&a[i]);
    scanf("%d",&num); /*输入要删除的元素序号*/
    for(i=num;i<10;i++)
    /***********found***********/
        a[i]= a[i+1]; 
    a[9]=0; 
       /***********found***********/
    for(i=0;i<10;i++) 
    printf("%d  ", a[i]); 
    return 0;
    }

  • 写回答

3条回答 默认 最新

  • 关注

    中午好🌞🌞🌞
    本答案参考ChatGPT-3.5

    问题所在:

    1. 循环中的scanf语句没有用大括号括起来,可能导致输入结果不符合预期。

    2. 在删除元素后,循环打印数组时,缺少空格分隔。

    解决方案:

    1. 在循环中的scanf语句前后加上大括号,确保输入结果正确。

    2. 在循环打印数组时,printf语句中的格式字符串"%d "后添加一个空格,用于分隔输出的元素。

    修改后的代码如下:

    #include <stdio.h>
    
    int main(void)
    {
        int a[10], i, num;
    
        for (i = 0; i < 10; i++)
        {
            scanf("%d", &a[i]);
        }
        
        scanf("%d", &num); /*输入要删除的元素序号*/
    
        for (i = num; i < 9; i++)
        {
            a[i] = a[i+1];
        }
        a[9] = 0;
    
        for (i = 0; i < 10; i++)
        {
            printf("%d ", a[i]);
        }
       
        return 0;
    }
    

    请注意,修改后的代码只是解决了已知的两处错误,可能还存在其他错误。如果有其他错误,请提供更多相关信息以便进一步分析和修改。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 6月3日

悬赏问题

  • ¥15 Xsheii7我安装这个文件的时候跳出来另一个文件已锁定文件的无一部分进程无法访问。这个该怎么解决
  • ¥15 unity terrain打包后地形错位,跟建筑不在同一个位置,怎么办
  • ¥15 FileNotFoundError 解决方案
  • ¥15 uniapp实现如下图的图表功能
  • ¥15 u-subsection如何修改相邻两个节点样式
  • ¥30 vs2010开发 WFP(windows filtering platform)
  • ¥15 服务端控制goose报文控制块的发布问题
  • ¥15 学习指导与未来导向啊
  • ¥15 求多普勒频移瞬时表达式
  • ¥15 如果要做一个老年人平板有哪些需求