问答详情
源自:4-12 循环结构之多重循环

为什么不可以这样

#include <stdio.h>

int main()

{

    int i, j, k;

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

    {

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

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

        {

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

        }

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

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

        {

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

        }

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

    }

    return 0;

}


提问者:qq_慕标1172695 2019-06-08 00:25

个回答

  • little_white0223
    2019-06-27 10:30:11

    你的代码输出的图形形状是没问题的,但是for j 部分会多输出两个空格,使显示出来的图形向右平移了两个空格。

    如果这么写会精简几个运算步骤,

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

            {

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

            }


  • 慕粉0223133710
    2019-06-08 21:32:26

    其实只要你能够把这堆*打印出来,不管中间过程怎么样,都可以,不必纠结于具体怎么实现