扑通扑通、 2021-01-06 17:19 采纳率: 100%
浏览 238
已采纳

c++输出杨辉三角形,前10行没问题,超过10行的输出就是全是错的。

 代码:

#include<iostream>
using namespace std;
int main()
{
    int i, j, n;
    cin>>n;
    int a[n][n];
    
    for(i=1;i<=n;i++)
    {
        a[i][1] = 1;
        a[i][i] = 1;
    }
    //每一行第一个和最后一个赋值为1
    for(i=3;i<=n;i++)
    {
        for(j=2;j<=i-1;j++)
        {
            a[i][j] = a[i-1][j-1] + a[i-1][j]; 
        }
    }
    //给其他位置赋值
    for(i=1;i<=n;i++)
    {
        for(j=1;j<=i;j++)
        {
            cout<<a[i][j]<<" "; 
        }
        cout<<endl;
    }
    //输出杨辉三角
} 

10行时:

11行时: 

找不到问题出在哪,请求大神帮助!!! 

  • 写回答

9条回答 默认 最新

  • qq_25376897 2021-01-06 17:51
    关注

    数组下标是从0开始的

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

报告相同问题?