先看特点:(1)第一列和对角线上的元素都为1;
(2)除第一列和对角线上的元素之外,其他的元素的值均为前一行上的同列元素和前一列元素之和。
程序:
#include <stdio.h>
int main()
{ int i, j, n, k, t;
long Buf[21]={0,1}; //用于保存一行数据
printf("请输入杨辉三角形的行数(1 ~ 20):");
scanf("%d",&n);
for( i = 1; i <= n; i++) //输出n行 { t = 0; for( j = 1; j <= i;j++)//计算并输出杨辉三角形
{ k = Buf[j]; Buf[j] = t + k; //每个数是上面两数之和(三角计算)
t = k; printf("%6d", Buf[j]); } printf("\n");
}
return 0; }