编写程序打印杨辉三角(要求打印n行,5<=n<=9,n从键盘读入,打印样式为右对齐.)

#include<stdio.h>int main(){ int a[20][20],i,j;int l;printf("请输入行数n(5<=n<=9): ");scanf("%d",&l); for(i=0;i<l;i++) { for(j=l;j>=i;j--) printf(""); for(j=0;j<=i;j++) { if(i==j||j==0) a[i][j]=1; else a[i][j]=a[i-1][j]+a[i-1][j-1]; printf("%4d",a[i][j]); }printf("\n"); } return 0;}我怎么改成右对齐,就是下图所示

for(j=l;j>=i;j--) 改为for(j=0;j<(l-i-1)*3;j++) 

printf("%4d",a[i][j]);改为printf("%3d",a[i][j]);

程序:

#include <stdio.h>
int main()
{
int a[20][20],i,j;
int l;
printf("input n\n ");
scanf("%d",&l); 
for(i=0;i<l;i++) 

for(j=0;j<(l-i-1)*3;j++) //此行按此修改
printf(" "); 
for(j=0;j<=i;j++) 

if(i==j||j==0) a[i][j]=1; 
else a[i][j]=a[i-1][j]+a[i-1][j-1]; 
printf("%3d",a[i][j]); //此行按此修改
}
printf("\n"); 
}
return 0;
}

//运行示例:

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答