我正在尝试编写用于打印Pascal三角形的代码。我编写了以下程序,但输出格式与我想要完成的不一样。
代码清单
void main(){
int a[15][15],row,num=25,i,j,k;
clrscr();
printf("Enter Num of rows");
scanf("%d",&row);
for(i=0;i<row;i++){
for(k=num-2*i;k>=0;k--)
printf("");
for(j=0;j<=i;j++){
if(j==0||i==j){
a[i][j]=1;
}else{
a[i][j]=a[i-1][j-1]+a[i-1][j];
}
printf("%6d",a[i][j]);
}
printf("\n");
}
getch();
}
示例输出
1
1 1
1 2 1
1 3 3 1
上面的输出不是我想要的。我正在努力实现以下结果:
1
1 1
1 2 1
1 3 3 1
答案 0 :(得分:4)
问题在于您的printf("");
声明
通过添加空格使其成为printf(" ");
。
原始printf("");
语句不会对输出格式添加任何更改。
printf(" ");
在每次循环迭代时打印一个空格
for(k=num-2*i;k>=0;k--)
答案 1 :(得分:1)
尝试将printf("");
替换为printf(" ");
(差异是引号之间的空格)