【问题描述】
请编写函数求解实现用一维或二维数组存储杨辉三角形,并编写函数实现在屏幕上显示如下杨辉三角形:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
【输入形式】
从键盘输入整数n(n>=0且n<=12)
【输出形式】
在屏幕上输出n+1行杨辉三角形。
【输入样例】
3
【输出样例】
------***1
----***1***1
–***1***2***1
***1***3***3**1
其中-和都是空格位即每个数字占四位!
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int n;
int a[13][13]={{0,0}};//初始化
cin >> n;
//在数组中存储元素
for(int i=0;i<n+1;++i)
{
a[i][0]=1;
a[i][i]=1;
}
for(int i=2;i<n+1;++i)
{
for(int j=1;j<n+1;++j)
{
if(i==j) break;
a[i][j]=a[i-1][j-1]+a[i-1][j];
}
}
//打印杨辉三角形
for(int i=0;i<=n;++i)
{
//打印空格
for(int j=0;j<2*(n-i);++j)
cout << " ";
for(int j=0;j<=i;++j)
cout << setw(4) << a[i][j];
cout << endl;
}
return 0;
}