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

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

听星光过银河

2016-07-05 20:44

这是我的答案。。标准答案为 (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;
}


写回答 关注

3回答

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

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

    听星光过银河

    非常感谢!

    2016-08-01 18:59:41

    共 1 条回复 >

  • 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,输出一个*,此时第一行就有三个空格然后一个*,然后,换行符,下一行,同理。然后四次之后,得到答案。

    五只呆河马 回复听星光过银河

    标准答案五个空格是因为它做不到三个空格,你如果认为可以,可以去试试。不过,空格多少无所谓,图形出来就好。

    2016-07-05 21:56:52

    共 2 条回复 >

C语言入门

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

926299 学习 · 20799 问题

查看课程

相似问题