G_20032222 2022-03-05 18:49 采纳率: 80%
浏览 53
已结题

删除指定位置的元素(数组)错误情况未知

#include<stdio.h>
int main()
{
int a[10]={1,2,3,4,5,6,7,8,9,10},i,b[9];
int n;
scanf("%d",&n);

    if(n<9)
 {
     for(i=0;i<10;i++)
     {
         printf("%d ",a[i]);
    }
    printf("\n");
     /*for(i=0;i<n;i++)
     {
         b[i]=a[i];
    }
    for(i=n;i<9;i++)
    {
        b[i]=a[i+1];
    }
    for(i=0;i<=8;i++)
    {
        printf("%d ",b[i]);
    */
    /*for(i=0;i<10;i++)
    {
        if(i<n)
        {
            b[i]=a[i];
        }else
        {
            b[i]=a[i+1];
        }
    }
    for(i=0;i<=8;i++)
    {
        printf("%d ",b[i]);
    }*/
    for(i=0;i<10;i++)
    {
        if(i==n)
        {
            continue;
        }else
        {
            printf("%d ",a[i]);
        }
    }
 }else
  {
    printf("error.");
 }

}
为什么PTA上总显示输入2 和 3后答案错误,我觉得运行的答案很正确啊

  • 写回答

2条回答 默认 最新

  • 关注

    非法判断少了大于等于0 和小于等于9

    #include<stdio.h>
    int main()
    {
        int a[10]={1,2,3,4,5,6,7,8,9,10},i,b[9];
        int n;
        scanf("%d",&n);
        
            if(n<=9&&n>=0)
         {
             for(i=0;i<10;i++)
             {
                 printf("%d ",a[i]);
            }
            printf("\n");
             
            for(i=0;i<10;i++)
            {
                if(i==n)
                {
                    continue;
                }else
                {
                    printf("%d ",a[i]);
                }
            }
                printf("\n");
         }else
          {
            printf("error.");
         }
    }
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月13日
  • 已采纳回答 3月5日
  • 创建了问题 3月5日

悬赏问题

  • ¥15 下载ctorch报错,求解
  • ¥60 iinfercnv 肿瘤进化树
  • ¥15 如何入门学习c语言,单片机
  • ¥15 idea 编辑语言的选择
  • ¥15 Windows下部署Asmjit
  • ¥15 请问双层规划模型的上下层目标函数不一致,是如何保证迭代收敛性的
  • ¥15 微信小程序 前端页面内容搜索
  • ¥15 cpu是如何判断当前指令已经执行完毕,然后去执行下条指令的
  • ¥15 安装visual studio2022时visualstudiosetup启动不了,闪退。问题代号0x0和0x1389
  • ¥30 java spring boot2.5.3版本websocket连不上