描述:
杨辉三角,本质上是二项式(a+b)的n次方展开后各项的系数排成的三角形。其性质包括:每行的端点数为1, 一个数也为1;每个数等于它左上方和上方的两数之和。
示例:
1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1
打印杨辉三角,首先先对杨辉三角的形式进行观察,可以肯定的是最后打印杨辉三角形式肯定需要引用二维数组,那么就先定义一个二维数组,而杨辉三角的形式中arr[n][0]和arr[n][n]都是1,而且中间的数是arr[n-1][j-1]与arr[n-1][j]的和,这样的话,思路就很清晰了。
代码如下:
#include <stdio.h>
int main()
{
int arr[20][20] = {0};//定义一个二维数组
int n;
scanf("%d",&n);//这里定义n来表示想要输出的杨辉三角的行数
for(int i=0;i<n;i++)
{
arr[i][0] = 1;//杨辉三角每行开头的数都是1
for(int j=1;j<i;j++)//计算出中间的数字
{
arr[i][j] = arr[i-1][j-1] + arr[i-1][j];
}
arr[i][i] = 1;//最后的数字都是1
}
for(int k = 0;k<n;k++)//打印部分
{
for(int a=0;a<k;a++)
{
printf("%5d",arr[k][a]);
}
printf("\n");
}
return 0;
}