DBjuice 2021-11-24 22:42 采纳率: 100%
浏览 77
已结题

在dev中运行可以得到结果 但在pta中运行结果不是一样的

img

img

img

img

下面是代码


#include <stdio.h>
int main()
{
    int N;
    int num[10][10];
    int limit;
    int i,j,k;
    scanf("%d",&N);
    for(i=0;i<N;i++)
    {
        for(j=0;j<N;j++)
        {
            if(i==0||i==j)
                num[i][j]=1;
            else
                num[i][j]=num[i-1][j]+num[i-1][j-1];
        }
    }
    limit=N-1;
    for(i=0;i<N;i++)
    {
        for(k=1;k<=limit;k++)
        {
            printf(" ");
        }
        limit--;
        for(j=0;j<i+1;j++)
        {
            printf("%4d",num[i][j]);
        }
        printf("\n");
    }
    return 0;
}
  • 写回答

1条回答 默认 最新

  • 关注

    num[i][j]=num[i-1][j]+num[i-1][j-1];这里,i=0或者j=0的时候,i-1或者j-1是-1,数组越界了啊。
    参考如下代码:

    #include <stdio.h>
    int main()
    {
        int i,j,k,m,n;
        printf("请输入n的值:\n");
        scanf("%d",&n);
        for (i=1;i<=n;i++)
        {
            for (j=0;j<n-i ||(j>=n && j < 2*n-1);j++)
                printf("    ");
            for(k=1;k<=i;k++)
                printf("%4d",k);
            for (m=i-1;m>=1;m--)
                printf("%4d",m);
            printf("\n");
        }
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 12月2日
  • 已采纳回答 11月24日
  • 创建了问题 11月24日

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵