C++输出杨辉三角

主要通过二维数组来表示每个位置上的数
代码如下

#include 
#include 
using namespace std;

int main()
{
    int n;
    cin>>n;         //输出n行杨辉三角
    int yang[n][n];
    for (int i=0;i<n;i++){
        for(int j=0;j<=i;j++){
            if(j==0&&i!=0){
            cout<<setw(n+3-i)<<1;   //输出每行第一个1
            yang[i][j]=1;           
            continue;
            }
            if(j==i&&j!=0){
            cout<<setw(4)<<1<<endl;     //输出每行最后一个1
            yang[i][j]=1;
            break;
            }
            if (j==i&&j==0){
            cout<<setw(n+3-i)<<1<<endl;     //输出第一行
            yang[0][0]=1;
            break;
            }
            cout<<setw(4)<<yang[i-1][j-1]+yang[i-1][j];     //输出中间的数,每个数占四个位置
            yang[i][j]=yang[i-1][j-1]+yang[i-1][j];         //中间的数等于它肩上两个数的和

        }

    }
    system("pause");
    return 0;
}

你可能感兴趣的:(c++)