
杨辉三角形规律:
1 1
1 2 1
1 3 3 1
1 4 6 4 1
三角形图案输出
1
1 1
1 2 1
1 3 3 1
实现思路:我们定义一个二维数组,所有元素先初始化为 0;
给数组的第 1 列和对角线元素赋值为 1;其余元素 a[i][j]=a[i-1][j-1]+a[i-1][j];
1 0 0 0 0
1 1 0 0 0
1 2 1 0 0
1 3 3 1 0
1 4 6 4 1
编程实现:
- #include
- #include
- #include
-
- using namespace std;
-
- #define N 10
-
- int main(void)
- {
- int a[N][N] = { 0 };
-
- //将第一列和最后一列舒适化为1
- for (int i = 0; i < N; i++)
- {
- for (int j = 0; j <= i; j++)
- {
- if (j == 0 || i == j)
- {
- a[i][j] = 1;
- }
- else
- {
- a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
- }
- }
- }
-
- //宽度设置
- for (int i = 0; i < N; i++)
- {
- cout << setw((N - i) * 4) << a[i][0];
-
- for (int j = 1; j <= i; j++)
- {
- cout << setw(8) << a[i][j];
- }
- cout << endl;
- }
-
- system("pause");
- return 0;
- }