帕斯卡三角形

时间:2013-04-04 17:57:24

标签: c

我正在尝试编写用于打印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

2 个答案:

答案 0 :(得分:4)

问题在于您的printf("");声明

通过添加空格使其成为printf(" ");

原始printf("");语句不会对输出格式添加任何更改。

printf(" ");在每次循环迭代时打印一个空格

for(k=num-2*i;k>=0;k--) 

答案 1 :(得分:1)

尝试将printf("");替换为printf(" ");

(差异是引号之间的空格)