c语言中杨辉三角问题

问题遇到的现象和发生背景

该如何修改代码?

遇到的现象和发生背景

img


,请写出第一个错误信息

用代码块功能插入代码,请勿粘贴截图。 不用代码块回答率下降 50%
#include
#define n 1000
int main()
{
    int i,j,m=0,t,N;
    scanf("%d",&N); 
    int a[n][n];
    int b[n];
    for(i=0;ifor(i=2;ifor(j=1;jfor(i=0;ifor(m=m+1,t=1;m<=t;m++,t=t+2)
        {
            for(j=0;j<=i;j++)
            {
                b[m]=a[i][j];
            }
        }
    }
    for(m=0;mif(N==b[m])
        {
            printf("%d",m);
            break;
        }
    }
    return 0;
}

运行结果及详细报错内容
我的解答思路和尝试过的方法,不写自己思路的,回答率下降 60%
我想要达到的结果,如果你需要快速回答,请尝试 “付费悬赏”
  • n =1000 代码,后面int 应该溢出,改小点
  • 先看效果:

img

  • 参考如下:
#include<stdio.h>
#define n 700
int main()
{
    int i,j, m=0, N;
    scanf("%d",&N); 
    int a[n][n];
    int b[n];
    for(i=0;i<n;i++)
    {
        a[i][i]=a[i][0]=1;
    }
    for(i=2;i<n;i++)
    {
        for(j=1;j<i;j++)
        {
            a[i][j]=a[i-1][j]+a[i-1][j-1];
        }
    }

    for(i=0;i<n;i++)
    {
        for(j=0;j<=i;j++)
        {
            b[m++]=a[i][j];
        }   
    }

    for(m=0; m<n; m++)
    {
        if(N==b[m])
        {
            printf("%d",m+1);
            break;
        }
    }
    return 0;
}

不用真的搞个二维数组,你定义成一维数组,然后每次在这个值的基础上迭代就行了
写代码就是尽量用最简单的办法把事情办成,写的越复杂越可能出错