还记得中学时候学过的杨辉三角吗?具体的定义这里不再描述,你可以参考以下的图形:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
Input
输入数据包含多个测试实例,每个测试实例的输入只包含一个正整数n(1<=n<=30),表示将要输出的杨辉三角的层数。
Output
对应于每一个输入,请输出相应层数的杨辉三角,每一层的整数之间用一个空格隔开,每一个杨辉三角后面加一个空行。
Sample Input
2 3
Sample Output
1 1 1 1 1 1 1 2 1#include<iostream> using namespace std; int main() { int n; while(cin>>n) { int a[100][100]={0,1},b,c,d,e,t,x=0; for(b=0;b<=n;b++) { for(c=1;c<=b;c++) { if(b>0) { a[b][c]=a[b-1][c-1]+a[b-1][c]; //给三角赋值 } } } for(d=0;d<=n;d++) { if(d>1) //我也不知道为什么需要大于一 改对的 cout<<endl; t=0; for(e=1;e<=d;e++) { if(t==1) cout<<" "; cout<<a[d][e]; //输出三角 t=1; } } cout<<endl; //两个换行 这个也是改对的 cout<<endl; } return 0; }