可以先对数组a的第一列元素赋值1,其他元素赋值0. 观察杨辉三角可以发现,从第二行起,各行第二列之后的元素是上一行同列元素和前一列元素之和。
# include <stdio.h>
# include <stdlib.h>int main()
{
int arr[10][10];
int i = 0;
int j = 0;
for (i = 0; i < 10; i++)//将第一行元素赋值为1,其余元素赋值为0.
{
for (j = 0; j < 10; j++)
{
if (j == 0)
arr[i][j] = 1;
else
arr[i][j] = 0;
}
}
for (i = 0; i < 10; i++) //求第一行以后各行第二列元素的值为它正上方和斜上方两元素的和。
{
for (j = 0; j < 10; j++)
{
arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];
}
}
for (i = 0; i < 10; i++)//这个for循环用来输出这个二位数组的值。
{
for (j = 0; j < 10; j++)
{
if (arr[i][j] == 0)
{
printf("\n");
break;
}
printf("%6d", arr[i][j]);
}
}
system("pause");
return 0;
}