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

虽然输出了正确的图形 但我有点不理解标准答案里空格的输出过程

这是我的答案。。标准答案为 (j=i;j<5;j++) 这样不就输出了5个空格?

#include <stdio.h>
int main()
{
    int i, j, k;
    for(i=1; i<5; i++)
    {
        /* 观察每行的空格数量,补全循环条件 */
        for(    j=1 ;  j<=(4-i) ;  j++  )  
        {
            printf(" ");    //输出空格
        }
        /* 观察每行*号的数量,补全循环条件 */
        for( k=1 ;  k<=(2*i-1) ;  k++  ) 
        {
            printf("*");   //每行输出的*号
        }
        printf("\n");     //每次循环换行
    }
    return 0;
}


提问者:听星光过银河 2016-07-05 20:44

个回答

  • 五只呆河马
    2016-07-05 21:24:18
    已采纳

    你的答案是正确的,要想达到这个结果,可以有不同的思路和途径

  • qq_Yem嘞_03437976
    2016-07-05 21:42:33

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

  • 五只呆河马
    2016-07-05 21:29:06

    然后,例如j<=(4-i),第一次循环,i=1,循环了三次,就输出三个空格,然后接着执行下一个对*的输出,i=1,k<=(2*i-1)即i<=1,输出一个*,此时第一行就有三个空格然后一个*,然后,换行符,下一行,同理。然后四次之后,得到答案。