思路:
直角三角形的第1列和主对角线元素都是1,其余元素等于其上两元素之和,一个同列,一个在前一列。
等腰三角形与直角三角形相差不大,只需在每行前面加若干个空格即可。
以下是6行杨辉三角的两种形式代码及其测试结果:
#include <stdio.h>
void main()
{
int i,j,a[7][7];
for(i=1;i<7;i++)
{a[i][i]=1;a[i][1]=1;}
for(i=3;i<7;i++)
for(j=2;j<=i-1;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j];
for(i=1;i<7;i++)
{
for(j=1;j<=i;j++)
printf("%5d",a[i][j]);
printf("\n");
}
}
#include <stdio.h>
void main()
{
int i,j,k,a[7][7];
for(i=1;i<7;i++)
{a[i][i]=1;a[i][1]=1;}
for(i=3;i<7;i++)
for(j=2;j<=i-1;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j];
for(i=1;i<7;i++)
{
for(k=1;k<7-i;k++)
printf(" ");
for(j=1;j<=i;j++)
printf("%3d",a[i][j]);
printf("\n");
}
}