定义一个10×10的二维数组a。
int a[10][10];
杨辉三角的特点为其首行和对角线上的数都为1,用一个单层循环为第一列和对角线上的元素赋值。
for(i=0;i<10;i++)
{
a[i][0]=1;
a[i][i]=1;
}
其它各元素的值都是上一行上一列元素和上一行前一列元素之和。
for(i=1;i<10;i++)
for(j=1;j<i;j++)
a[i][j]=a[i-1][j]+a[i-1][j-1];
用一个双重循环嵌套输出杨辉三角。
for(i=0;i<10;i++)
{
for(j=0;j<i+1;j++)
printf("%d ",a[i][j]);
printf("\n");
}
完整的代码为
#include <>
int main()
{
int a[10][10]={0};
int i,j;
for(i=0;i<10;i++)
{
a[i][0]=1;
a[i][i]=1;
}
for(i=1;i<10;i++)
for(j=1;j<i;j++)
a[i][j]=a[i-1][j]+a[i-1][j-1];
for(i=0;i<10;i++)
{
for(j=0;j<i+1;j++)
printf("%d ",a[i][j]);
printf("\n");
}
return 0;
}