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

什么原理啊

#include <stdio.h>

int main()

{

    int i, j, k;

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

    {

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

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

        {

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

        }

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

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

        {

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

        }

           printf("\n");

           //每次循环换行

    }

    return 0;

}

/*

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

        {

            printf(" ");    打印里面只有一个空格啊,怎么做到一下子变多个空格的

        }

还有

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

        {

            printf("*");   怎么做到一行输出多个*号的

        }

求大神讲解,谢谢

*/




提问者:qq_慕侠2053952 2020-03-16 08:14

个回答

  • weixin_慕斯3464934
    2020-03-17 20:50:03

    你先回去把循环体复习一边,再来看这个多重循环体。

  • weixin_慕斯3464934
    2020-03-17 17:16:46

    要先了解代码应该先了解运行结果表达的意思

       54897f3a000182dc00670067.jpg,这是运行结果。

    1:这里一共四行,所以代表循环四次。

    2:由上到下4行*的数量依次为 1 3 5 7,所以代表循环输出* 1次 3次 5次 7次

    3:注意一点在运行结果的左上角共有6个空格,依次排序为3个空格,2个空格,1个空格。


                排序出来表达全部意思就是

    第一行先输出3个空格和1个*  换下一行,

    第二行输出2个空格和3个*   换下一行,

    第三行输出1个空格和5个*   换下一行,

    第四行直接输出7个*     结束。


  • qq_慕侠2053952
    2020-03-16 13:14:47

    还有,这是从上往下输出还是从下往上输出啊