m0_74079850 2023-02-16 18:13 采纳率: 96.3%
浏览 42
已结题

关于#c语言#的问题:输出数组元素

这个是题目:

img


这个是我的答案

#include<stdio.h>
int main()
{
    int n,i=0,j=0;
    scanf("%d",&n);
    int a[n],b[n];
    for(i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
    }
    for(i=0;i<n;i++)
    {
        for(j=0;j<n-1;j++)
        {
            b[j]=a[i+1]-a[i];
        }
    }
    for(j=0;j<n-1;j++)
    {
        if(j%3==1)
        {
            printf("%d",b[j]);
        }
        else
        {
            printf(" %d",b[j]);
        }
        if(j%3==0)
        {
            printf("\n");
        }
    }
}

请问我哪些地方写错了? 谢谢

  • 写回答

3条回答 默认 最新

  • a5156520 2023-02-16 18:51
    关注

    首先,第11行的for循环结束条件i<n,改为i<n-1, 因为如果不改的话,第15行的a[i+1]会数组越界。

    然后,第13行那个for循环去掉,因为保存前后项之差不需要把每一项差值都循环保存一遍到数组b中,与题意不符,去掉这个循环,然后在第15行后面加个j++, 表示把前后之差依次保存到数组b中相应的元素;

    最后打印结果那里修改下即可。

    修改如下:

    
    #include<stdio.h>
    int main()
    {
        int n,i=0,j=0;
        scanf("%d",&n);
        int a[n],b[n];
        
        for(i=0;i<n;i++)
        {
            scanf("%d",&a[i]);
        }
        
        for(i=0;i<n-1;i++)
        {
            
            b[j]=a[i+1]-a[i];
          //  printf("i=%d,b[%d]=a[%d]-a[%d]=%d-%d=%d\n",i,j,i+1,i,a[i+1],a[i],b[j]);
            j++; 
            
        }
        
        for(j=0;j<n-1;j++)
        {
            if(j%3==0&&j!=0)
            {
                printf("\n");
            }
            
            if(j%3!=2&&j<n-2){ //当是每行前两个元素,且不是最后一个数组元素,则在输出数字后打印一个空格 
                printf("%d |",b[j]);
            }else{  // 每行最后一个数字或是数组最后一个数字,则只打印数字 
                printf("%d",b[j]);
            }
            
        }
    }
     
    

    img

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

报告相同问题?

问题事件

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

悬赏问题

  • ¥15 无源定位系统的时差估计误差标准差
  • ¥15 请问这个代码哪里有问题啊
  • ¥20 python--version在命令端输入结果Python is not defined怎么办?还有pip不是exe格式是不是没安装成功?
  • ¥15 通过GaussianView进行结构微调消除虚频
  • ¥15 调用transformers库
  • ¥15 由于导出的数据名字中带有/,导致Matlab打不开,怎么办?
  • ¥15 新硬盘安装的程序总是崩溃,提示遇到错误
  • ¥15 openpcdet自制数据集评估bev精度和3d精度相同
  • ¥15 excel 上下按钮 显示行
  • ¥20 云卓h12pro 数传问题