#include<stdio.h>
int main()
{
int yang[10][10] = {0}; //此处为对杨辉三角的初始数组内存分配设置,数组的大小可任意更换
int i;
for (i=0;i<10;i++) //不难发现杨辉三角的对角线和第一列的数字都为1,此处在做初始的定义
{
yang[i][i] = 1;
yang[i][0] = 1;
}
int a,b;
for (a=2;a<10;a++)
{
for (b=1;b<a;b++)
{
yang[a][b] = yang[a-1][b-1] + yang[a-1][b]; //此处通过双层嵌套循环来对数组进行赋值,
} 不难发现杨辉三角内的数字有它的上一行的前一 项和后一项相加得来。
}
int k,j;
for (k=0;k<10;k++)
{
for (j=0;j<10;j++)
{
if (yang[k][j]!=0) //到达此处时,数组内的数值已完成赋值,由于在代码开头处将二维数组初 始为每一项为0,而杨辉三角为三角形,因此在对角线的另一边的数值都 为0,所以只要当数值不为0时输出内容即可
#include<stdio.h>
int main()
{
int yang[10][10] = {0};
int i;
for (i=0;i<10;i++)
{
yang[i][i] = 1;
yang[i][0] = 1;
}
int a,b;
for (a=2;a<10;a++)
{
for (b=1;b<a;b++)
{
yang[a][b] = yang[a-1][b-1] + yang[a-1][b];
}
}
int k,j;
for (k=0;k<10;k++)
{
for (j=0;j<10;j++)
{
if (yang[k][j]!=0)
{
printf("%d ", yang[k][j]);
}
}
printf("\n");
}
return 0;
}
{
printf("%d ", yang[k][j]);
}
}
printf("\n");
}
return 0;
}