杨辉三角
简单来说
- 每个数等于它上方两数之和。
- 每行数字左右对称,由1开始逐渐变大。
- 第n行的数字有n项。
不用二维数组,只用一维数组也是可以的
先不看前边空格
以第四行和第五行为例,下一行由上一行变化而来
代码实现:
#include<stdio.h>
int main ()
{
int arr[88];
int n;
scanf ("%d",&n);
for (int i=0;i<n;i++)
{
arr[i]=1;
for(int j=i-1;j>0;j--)
arr[j]+=arr[j-1];
for(int j=0;j<2*(n-1)-(4/2*i);j++)
printf (" ");//前边空格
for (int k=0;k<=i;k++)
printf ("%-4d",arr[k]);
printf ("\n");
}
return 0;
}