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 如何删除这个虚拟音频
  • ¥50 hyper默认的default switch
  • ¥15 网站打不开,提示502 Bad Gateway
  • ¥20 基于MATLAB的绝热压缩空气储能系统代码咨询
  • ¥15 R语言建立随机森林模型出现的问题
  • ¥20 unity内置语言切换的按钮设置
  • ¥15 中级微观经济学,生产可能性边界问题
  • ¥15 TCP传输时不同网卡传输用时差异过大
  • ¥15 请各位看看我写的属于什么算法,或者有更正确的写法?
  • ¥15 html5 qrcode 扫描器