为了账号安全,请及时绑定邮箱和手机立即绑定

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

#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 回答

你这个代码也差不多了。

#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;

}

这样子可能会好看点。

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信