#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void PrintTA(int n);
int main()
{
int n;
printf("请输入要打印的杨辉三角形的行数:\n");
scanf("%d",&n);
PrintTA(n);
return 0;
}
void PrintTA(int n)
{
int a[n][n];
for(int i=0;i<n;i++) //初始化数组
{
for(int j=0;j<n;j++)
a[i][j] = 0;
}
for(int i=0;i<n;i++) //给数组赋值 每一行第一个和最后一个元素赋值为1,其余的为上一行的同列与上一行的前一列的元素相加
{
for(int j=0;j<=i;j++)
{
if(j == 0||j == i)
a[i][j]=1;
if(i>=2&&j!=0&&j!=i)
{
a[i][j] = a[i-1][j-1] + a[i-1][j];
}
}
}
for(int i=0;i<n;i++)
{
for(int x=0;x<=n-i;x++) //打印空格 行值越高 打印的空格越少
printf(" ");
for(int j=0;j<=i;j++)
{
printf("%d ",a[i][j]);
}
printf("\n");
}
}