C语言问题希望可以解决

从键盘输入 n,显示 n 行三角形。
2
2 1
2 4 1
2 7 6 1
2 10 14 8 1

img


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

这也看不出规律啊, 有没有更长的测试数据啊

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632

#include<stdio.h>

int main()
{
    int a[100]={0};
    int n,m,i,j;
    scanf("%d%d",&n,&m);
    a[0]=n;
    for(i=0;i<m;i++)
    {
        for(j=0;j<=i;j++)
        {
            printf("%d ",a[j]);
        }
        printf("\n");
        
        a[i+1]=1;
        for(j=i;j>0;j--)
        {
            a[j]+=a[j-1]+1;
        }
    }
}

你这题目里说n行三角形,可是你输入的n是2,输出的是5行啊,我自作主张给你加了个变量m作为行数
其实就是变体的杨辉三角