编程序输出杨辉三角,用一个函数实现

2025-04-23 01:20:50
推荐回答(1个)
回答1:

#include

putyhsj(int n) //n为行数
{
int i,j;
int a[n+1][2*n+4];
for(i=1;i<=n;i++){
for(j=-1;j<2*n+2;j++){
a[i][j]=0;
}
}

a[1][n]=1;

//设置杨辉三角的数值;
for(i=1;i<=n;i++){
for(j=1;j<2*n;j++){
if(a[i][j]!=0){
a[i+1][j-1]=a[i][j-2]+a[i][j];
a[i+1][j+1]=a[i][j+2]+a[i][j];
}
}
}

//打印杨辉三角;
for(i=1;i<=n;i++){
for(j=1;j<2*n;j++){

if(a[i][j]!=0){
printf("%3d",a[i][j]); //打印格式自设,如加“\t”或空格等;
} //主要是为了打印的图像美观;
else{
printf(" ");
}
if(j==(2*n-1)){
printf("\n");
}
}
}
}