1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
……
- 首先需要观察杨辉三角的规律。很容易发现,杨辉三角的每一行第一个数与最后一个数都是1,中间的数是其上方与左上方两个数的和,据此可写出代码。
int main()
{
int arr[10][10] = { 0 };
int i = 0, j = 0;
arr[0][0] = 1;
printf("%d\n", arr[0][0]); //第一行的数不符合我们发现的规律,因此单独拿出来
for (i = 1; i < 10; i++)
{
arr[i][0] = 1;
printf("%d ", arr[i][0]);//每一循环,都要先将第一个数赋上1
if (i > 1) //第二行并没有中间的数,故这里只将第二行以后拿出来。
{
for (j = 1; j < i; j++)
{
arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];
printf("%d ", arr[i][j]);
}
}
arr[i][i] = 1; //给最后一个数赋值
printf("%d ", arr[i][i]);
printf("\n"); //打印完该行就换行
}
return 0;
}
结果如图: