问题如下:求杨辉三角前15行
分析问题:首先看一下这个题,经过读题我们得知要求计算杨辉三角前15行(帕斯卡三角),首先我们要知道什么是杨辉三角:如下:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
…
下面一个数等于上面的两个数的和,这样我们就可以根据二维数组进行计算,代码如下:
#include <stdio.h>
int a=15;
int main()
{
int arr[100][100]={0};
int i,j;
for(i=0;i<a;i++)
{
arr[i][0]=1;
arr[i][i]=1;
}
for(i=2;i<a;i++)
for(j=1;j<a;j++)
arr[i][j]=arr[i-1][j]+arr[i-1][j-1];
for(i=0;i<a;i++)
{
for(j=0;j<a;j++)
if(arr[i][j]!=0)
printf("%6d",arr[i][j]);
printf("\n");
}
}
代码解析:我们看一下这部分代码,可以看出首先通过二维数组进行遍历,然后根据下面一个数等于上面两个数的和,即可得出结果。