您的位置:首页 > 编程语言 > C语言/C++

C++打印杨辉三角形

2015-08-22 15:05 162 查看
打印出以下的杨辉三角形(要求打印出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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: