目录
一.问题描述
在屏幕上显示如下杨辉三角形:
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;
cin>>n;
int va[13][13];
int blank=n;
for(int i=0; i<n+1; i++) { //行循环
//前导空格
for(int j=blank; j>0; j--) {
cout<<" ";
}
blank--;
//打印数字
for(int k=0; k<i+1; k++) {
//所有数字赋初值1
va[i][k]=1;
if(k==0||k==i) {
cout<<setw(4)<<va[i][k];//如果是该行的第一个或者最后一个则直接输出1
} else {
va[i][k]=va[i-1][k-1]+va[i-1][k];
cout<<setw(4)<<va[i][k];
}
}
cout<<endl;
}
return 0;
}