大家在初中or小学的时候就已经了解了杨辉三角,在欧洲,也叫帕斯卡三角形,如下所示
1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
...
现在,想要输入整数n,打印前n行,并输出每一行的和。
1. 二维数组
用C代码实现的时候,最简单的方法就是利用二维数组,根据 a [ i ] [ j ] = a [ i − 1 ] [ j − 1 ] + a [ i − 1 ] [ j ] a[i][j] = a[i-1][j-1] + a[i-1][j] a[i][j]=a[i−1][j−1]+a[i−1][j]进行更新,其中i代表行(或者高),j代表列。在C中利用数组,那么需要设置数组的长度,比如定义MAXSIZE 100,即最大为100行。代码如下
#include <stdio.h>
#define MAXSIZE 100
int pascal_tri_1(int n)
{
int a[MAXSIZE][MAXSIZE] = { 1 }; //杨辉三角数组
int sum_arr[MAXSIZE] = { 1 };
int h_ind;
//建表
for (int h = 2; h <= n; ++h) { //h为