问题描述
杨辉三角形
输出高度为n (1 ≤ n ≤ 36)的杨辉三角形。
【每一行的最左侧和最右侧数字都是 1,其他的每个数是它左上方和右上方的两个数字之和】
细节
1 . 每行的第一个值(第二个坐标为0的元素)一定是1。不必单独开一个循环赋值,可以直接循环的开始中赋值。
2 . 外层循环结束的条件是 i < n
, 不带等号。
3 . 内层循环结束的条件是 j <= n
, 带等号。
代码
#include <bits/stdc++.h>
using namespace std;
int angle[40][40];
int main() {
int n;
scanf ("%d", &n);
for (int i = 0; i < n; i++){
angle[i][0] = 1;
for (int j = 1; j <= i; j++){
angle[i][j] = angle[i - 1][j - 1] + angle[i - 1][j];
}
for (int j = 0; j <= i; j++){
printf ("%d ", angle[i][j]);
}
printf ("\n");
}
return 0;
}