杨辉三角
**
显示N层杨辉三角形。
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
第一步:
先寻找规律:
1、 每个数等于它上方两数之和。
2、 每行数字左右对称,由1开始逐渐变大。
3、 第n行的数字有n+1项。
第二步:
1、由于每行的左右两边两个数字都为1,先将其表示出来 arr[l][0] = 1;arr[l][l] = 1;。这样不管是第一排还是第二排都可以表示出来
2、由于中间的数字,都是上方两数之和,表示为arr[l][c] = arr[l-1][c]+arr[l-1][c-1];
第三步:代码
#include <stdio.h>
int main(int argc,const char* argv[])
{
int n = 0;
printf(“请输入n的值:”);
scanf("%d",&n);
int arr[n][n];
for(int l=0; l<n; l++)
{
arr[l][0] = 1;
arr[l][l] = 1;
for(int c = 1; c<l; c++)
{
arr[l][c] = arr[l-1][c]+arr[l-1][c-1];
}
}
for(int i=0; i<n; i++)
{
for(int j=0; j<=i; j++)
{
printf("%d “,arr[i][j]);
}
printf(”\n");
}
}