杨辉三角形分三步来写:
第一步:先定义一个二维数组,将第一列以及每行最后一个数字赋值为1
第二步:有了第一步的赋值,就可以将剩下位置的值计算出来,容易知道每个数字都是上一行的该列元素与上一行的前一列元素 之和,如果 i 和 j 分别表示行号和列号的话,就有 arr[i][j]=arr[i-1][j-1]+arr[i-1][j]
第三部:打印输出数组
#include<stdio.h>
void main()
{
int i,j,arr[10][10];
for(i=0;i<10;i++) //第一步:进行赋值 ,i 表示行号,j 表示列号
{
for(j=0;j<=i;j++)
{
if(i==j)
{
arr[i][j]=1; //将每一行的最后一个数字赋值为1
}
}
arr[i][0]=1; //将第一列数字赋值为1
}
for(i=2;i<10;i++) //第二步:将其他位置的数值计算出来
{
for(j=1;j<i;j++)
{
arr[i][j]=arr[i-1][j-1]+arr[i-1][j];
}
}
for(i=0;i<10;i++) // 第三步:打印输出数组
{
for(j=0;j<=i;j++)
{
printf("%4d",arr[i][j]);
}
printf("\n");
}
}