我写的感觉有点不好理解,求优化

来源:4-12 循环结构之多重循环

慕UI3423937

2019-09-18 11:08

#include <stdio.h>

int main()

{

    int i, j, k;

    for(i=1; i<8; i++)

    {

        /* 观察每行的空格数量,补全循环条件 */

        if(i<5)

        {

        for(j=i     ; j<5  ;    j++)  

        {

            printf(" ");    //输出空格

        }

        /* 观察每行*号的数量,补全循环条件 */

        for( k=0 ; k<i*2-1  ;  k++     ) 

        {

            printf("*");   //每行输出的*号

        }

        }

        else

        {

        for(j=5   ;j-i<2   ;    j++)  

        {

            printf(" ");    //输出空格

        }

       

         for( k=1 ; k<=16-i*2-1  ;  k++     ) 

        {

            printf("*");   //每行输出的*号

        }

        

        

        }

        

      

        

        

        printf("\n");     //每次循环换行

    }

    return 0;

}



写回答 关注

2回答

  • 小小疾飞
    2019-09-18 11:58:15

    你这个代码也差不多了。

    #include <stdio.h>

    int main()

    {

        int i, j, k;

        for(i=1; i<8; i++){

            if(i<5){

                for(j=i ;j<=4 ;j++ )  

                printf(" ");    

                for(k=0 ;k<i*2-1 ;k++ )

                printf("*");   

            }

            else{

                for(j=5 ;j-i<2 ;j++ )  

                printf(" ");

                for(k=1 ;k<=16-i*2-1 ;k++ )

                printf("*");   

                }

                printf("\n");     

                }

                return 0;

    }

    这样子可能会好看点。

  • 慕莱坞7123771
    2019-09-18 11:43:25

    http://img3.mukewang.com/5d81a7aa000147a412930822.jpg我的代码虽然跟小编的代码不一样,但是结果是正确的,希望能供参考

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926027 学习 · 20793 问题

查看课程

相似问题