杨辉三角形如下所示
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
【思路】 杨辉三角形各行的系数有以下规律:
(1)各行第一个数都是1。(2)各行最后一个数都是1。
(3)从第3行起,除上面指出的第一个数和最后一个数外,其余各数是上一行同列和前一列两个数之和。例如,第4行第2个(3)是第3行第2个数(2)和第3行第1个数(1)之和。可以这样表示:
a[i][j] = a[i-1][j] + a[i-1][j-1],其中i为行数,j为列数。
【程序代码如下】
#include <stdio.h>
#include <stdlib.h>
#define N 10
int main(int argc, char *argv[]) {
int i,j,a[N][N]; //数组为10行10列
for(i = 0; i < N;i++)
{
a[i][i] = 1; // 使对角线元素的值为1
a[i][0] = 1; // 使第1列元素的值为1
}
for(i = 2; i < N; i++) //从第3行开始处理
for(j = 1; j <= i - 1; j++)
a[i][j] = a[i - 1] [j - 1] + a[i - 1] [j];
for(i = 0; i < N; i++)
{
for(j = 0; j <= i; j++)
printf("%6d",a[i][j]); //输出数组各元素的值
printf("\n");
}
printf("\n");
return 0;
}
【运行结果】