代码实现:
#include<stdio.h>
int main()
{
int arr[10][10] = { 0 };
int i = 0;
int j = 0;
for (i = 0; i < 10; i++)
{
for (j = 0; j <= i; j++)
{
if (j == 0 || i==j)
{
arr[i][j] = 1;
}
if (i >= 2 && j >= 1)
{
arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];
}
}
}
for (i = 0; i < 10; i++)
{
for (j = 0; j <= i; j++)
{
printf("%3d ", arr[i][j]);
}
printf("\n");
}
return 0;
}
大致思路:
杨辉三角形:
//1
//1 1
//1 2 1
//1 3 3 1
//1 4 6 4 1
// ...............
规律:第1行 1列 第2行 2列 ……
考虑使用二维数组存储数值
给数组中赋值:将第0列和正对角线上的所有值置为1
从第2行第1列开始,arr[i][j]=arr[i-1][j-1]+arr[i-1][j] 如:2=1+1
最后直接打印数组就行啦,超简单是不是!