杨辉三角
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
方法:找到特殊情况,再加上规律。
如果用二维数组a来存储上面的数字,列数为0,也就是 a [i] [0]或者是i==j ,a[i][j],此时a[i][j]的值都为1,可以把它看作是特殊情况。
其他数 则是 a[i][j]= a [i-1][ j-1 ] +a [i-1] [ j ],例如a[2][1]=2=a[1][0]+a[1][j]=1+1.
找到其中的规律就好办了
打印直接用两个for。
void print(int n)
{
int arr[10][10] = { 0 };
for (int i = 0; i <= n-1; i++)
{
for (int j = 0; j <= i;j++)
{
if (j == i || j == 0)//找到特殊情况直接赋值1
{
arr[i][j] = 1;
}
else arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];
printf("%d ", arr[i][j]);
}
printf("\n");
}
}
结果图:

浙公网安备 33010602011771号