不为空 2019-01-24 18:22 采纳率: 0%
浏览 382

关于金字塔的问题,怎样实现后部分?

图片说明
这个金字塔上面5层我能打出来,下面4层该怎样进行呢?
我是按照一层一层的打前面5层,能不能一列一列的打印这个金字塔呢,如果能该如何实现?

  • 写回答

1条回答 默认 最新

  • _ZGq 2019-01-24 19:08
    关注

    把i循环反过来不就行了?

    //...
    for(i=x/2;i>=1;i--){
        //里面j循环和打印和前面五行一模一样
    }
    

    完整:

    #include<stdio.h>
    void pyramid(int x){
        int i,j;
            int m,n;
            for(i=1;i<=x/2+1;i++){
                for(j=0;j<2*i-1;j++){
                        printf("*");
                    }
                    for(j=0;j<x-i;j++){
                        printf(" ");
                    }
                    printf("\n"); //少了一个分号
            }
            for(i=x/2;i>=1;i--){
                for(j=0;j<2*i-1;j++){
                        printf("*");
                    }
                    for(j=0;j<x-i;j++){
                        printf(" ");
                    }
                    printf("\n"); //少了一个分号
            }
    }
    

    就C的打印机制来说,是不能竖着打印的。

    评论

报告相同问题?