关于4-12的

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

慕斯卡1730669

2016-12-15 04:26

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

请问那个子循环和孙循环的表达式分别是什么意思,看了半天没看懂为什么要这样写,那个大神讲解一下,谢谢

写回答 关注

3回答

  • 任仕雨
    2016-12-15 12:22:45
    已采纳

    这题是要打印二维星号的问题吧,第一第二子循环是基于题目的规律判断,看这条代码指的是每行空格数量与行数(i)存在恒久不变的规律,当执行到第i行,则空格量为5-i;*号的量也是这种思路(*号的数量和所处i行的关系)(啰嗦一点。。。第一行就是2*1-1(1)个,第二行就是2*2-1(3)个,第三行就是2*3-1(5)个,第四行。。。明白了吧·,好好努力,加油。



    任仕雨 回复慕斯卡173...

    并不是这样,j小于5是题目限定,不过你仔细推算下,第一步,j的初值是1,当j不小于5的时候终结此循环,1.2.3.4,一共4次循环输出空格,也就是5-i(初值为1)个。我当初学这个的时候做过类似的题目并遇到了挫折,所以印象深刻

    2016-12-23 18:37:08

    共 3 条回复 >

  • 慕慕2676281
    2016-12-15 12:33:19

    i=1,i<5是总共输出5行,子循环是判断每行有多少个空格,这个循环的条件我不是很理解,第一行3个,第2行2个,为什么会是那样,不是很懂,孙循环是判断*号个数,第一行1个,第2行3个,第3行5个,按数学方法来看,第i行就有2i-1个

  • 大千纷繁世界
    2016-12-15 12:24:11

    从程序看有3个循环结构一个大循环包含两个小循环,大的为i两个小的分别为j和k i为行数, j在第i所表示的行中输出空格,输出空格结束后用k来补*号,第一行4空格,1*
    第二行3空格,2*
    第三行2空格,3*依次类推。

C语言入门

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

926025 学习 · 20793 问题

查看课程

相似问题

4-12

回答 3

4-12

回答 2

4-12的任务

回答 1