先按照数据规律关系,将第一列和对角线元素置成1,然后其他的每个元素都是其肩膀上两个元素之和所得,最后按照每行行数与空格关系,嵌套一层for循环将输出的杨辉三角更加美观
注意:空格的添加在输出数组纷纷,而不是在元素修改部分
#include <stdio.h>
int main()
{
int i=0,j=0;
int a[10][10]={0};
for(i=0;i<10;i++) //数组元素修改部分
{
for(j=0;j<10;j++)
{
if((i==j)||(j==0)) // 把数组的第一列和对角线元素都置为1
{
a[i][j]=1;
}
if(i>=2) //从第三行开始,每个元素的值为其肩膀上两个元素之和
{
a[i][j]=a[i-1][j-1]+a[i-1][j];
}
}
}
for(i=0;i<10;i++) //数组输出部分,按行修改
{
for(j=0;j<10-i;j++)
{
printf(" "); //根据每行行数与空格关系,建立关系
}
for(j=0;j<=i;j++) //控制输出左下半部分数组
{
printf("%2d ",a[i][j]);
}
printf("\n");
}
return 0;
}