C++打印杨辉三角形

打印出以下的杨辉三角形(要求打印出10行)

1

1   1

1   2   1

1   3   3   1

1   4   6   4   1

1   5  10  10    1

…………

要求打印出10行

杨辉三角形:端点数为1,每个数等于它肩上两个数之和。

#include “stdafx.h”
#include<iostream>
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
int array[10][10];        //定义一个10*10的二维数组
int i,j;
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
{
array[i][j]=0;         //赋初值,使数组的每个元素都为0
}
    }

for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
{
if(j==0)
{
array[i][j]=1;    //使第一列上每个数都为1
}
}
}

   for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
{
if(j>0&&i>0&&j<=i)        //这里j要求小于等于i,这样就可以只在三角形中进行需要的运算
{
   array[i][j]=array[i-1][j-1]+array[i-1][j];      //杨辉三角形的特性,一个数等于它肩上两数之和,也就是 array[i][j]=array[i-1][j-1]+array[i-1][j];
}
}
}

for(i=0;i<10;i++)
{
for(j=0;j<=i;j++)       //只输出三角形,而不是整个矩阵 
{
cout<<array[i][j]<<” “;
}
cout<<endl;    //输出完一行后,就可以换行了。
}
return 0;
}

    原文作者:杨辉三角问题
    原文地址: https://blog.csdn.net/yanglize/article/details/47859547
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞