回 帖 发 新 帖 刷新版面

主题:哪里错了2?

题目:打印出杨辉三角形(要求打印出10行如下图)   
1.程序分析:
       1
      1  1
      1  2  1
      1  3  3  1
      1  4  6  4  1
      1  5  10 10 5  1 
#include <iostream>
using namespace std;

main()
{
    int i,j,a[6][6];
    for(i=0;i<6;i++)
    {a[i][0]=1;
    a[i][i]=1;}
    for(i=2;i<6;i++)
    {
        for(j=1;j<i;j++)
    a[i][j]=a[i-1][j-1]+a[i-1][j];
    }
    for(i=0;i<6;i++)
    {
        for(j=0;j<6;j++)
         cout<<a[6][6]<<" ";
    }
return 0;
}
运行时不是杨辉三角形,请点拨一下~

回复列表 (共3个回复)

沙发

#include <iostream>
using namespace std;

int main()
{
    const int N=6;    //最好用一个常量来定义打印行数,以便更改
    int i,j,a[N][N];
    for(i=0;i<N;i++)
    {
        a[i][0]=1;
        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];
        }
    }
    for(i=0;i<N;i++)
    {
        for(j=0;j<=i;j++)    //j<6=>j<=i
        {
            cout<<a[i][j]<<" ";    //a[6][6]=>a[i][j]
        }
        cout<<endl;    //打印一行后要换行
    }
    return 0;
}

板凳


谢谢你哦

3 楼


#include <iomanip.h>

int main()
{
    const int N=6;    
    int i,j,a[N][N];
    for(i=0;i<N;i++)
    {
        a[i][0]=1;
        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];
        }
    }
    for(i=0;i<N;i++)
    {
        for(j=0;j<=i;j++)   
        {
            cout<<a[i][j]<<setw(3); //这里用这个函数能使打印的效果更加好     
        }
        cout<<endl;    
    }
    return 0;
}

我来回复

您尚未登录,请登录后再回复。点此登录或注册