1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
杨辉三角在程序练习当中是比较常见的,根据上面的给出的数列可以看出一些规律来,每行的两边都是1,从第2列开始,每个数是上一行相邻的数之和,根据自己的经验编写一个输出10行的C语言函数,如下:
#include <stdio.h>
int main()
{
int i;
int j;
int a[10][10];
a[0][0]=1; //第一行,第一列为1.
for(i=0;i<10;i++)
{
a[i][0]=1;
for(j=0;j<=i;j++)
{
if(j==0) //判断是否为第一列,如果是设置为1
a[i][j]=a[0][0];
else if(i>=1&&j>=1&&i!=j) //判断是否为中间,不是第一列,也不是最后一列,
a[i][j]=a[i-1][j]+a[i-1][j-1];
else if(j==i) //;判断是否为最后一列
a[i][j]=a[i-1][j-1];
}
}
for(i=0;i<10;i++) //输出杨辉三角
{ for(j=0;j<=i;j++)
printf(“%5d”,a[i][j]);
printf(“\n”);
}
}