题目描述
按要求输入如下格式的杨辉三角
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
最多输出10层
输入
输入只包含一个正整数n,表示将要输出的杨辉三角的层数。
输出
对应于该输入,请输出相应层数的杨辉三角,每一层的整数之间用一个空格隔开
样例输入 Copy
5
样例输出 Copy
1 1 1 1 2 1 1 3 3 1 1 4 6 4 1
AC代码:
扫描二维码关注公众号,回复:
12260274 查看本文章
#include<cstdio>
using namespace std;
int a[11][11];
int main()
{
int n;
scanf("%d",&n);
//i代表行,j代表列,又因为第i行有i个数,所以每行有i列,即j <= i
for (int i = 1;i <= n;i++){
for (int j = 1;j <= i;j++){
//第1列和对角线上的数字全为1
if (i == j || j == 1) a[i][j] = 1;
else a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
}
}
//输出
for (int i = 1;i <= n;i++){
for (int j = 1;j <= i;j++){
printf("%d ",a[i][j]);
}
printf("\n");
}
return 0;
}