1、概念理解
在屏幕上打印
1
1 1
1 2 1
1 3 3 1
…
2、代码实现
#include<stdio.h>
int main()
{
int a = 0;
int i = 0;
int j = 0;
int arr[50][50] = { 0 };
scanf("%d", &a);//定义打印几行
for (i = 0; i < a; i++)//设置杨辉三角形对角的值为1和每行第一个数的值为1
{
arr[i][0] = 1;
arr[i][i] = 1;
}
for (i = 2; i < a; i++)//设置杨辉三角形除每行第一个和对角线上其他的值
{
for (j = 1; j < i; j++)
{
arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];//利用杨辉三角形的特性计算
}
}
for (i = 0; i < a; i++)
{
for (j = 0; j <= i; j++)
{
printf("%-2d", arr[i][j]);//打印杨辉三角形
}
printf("\n");
}
return 0;
}