为了账号安全,请及时绑定邮箱和手机立即绑定

看不懂,可以解释一下吗

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

}

  看不懂



正在回答

2 回答

333   

0 回复 有任何疑惑可以回复我~

我之前也看不懂,后来自己算一遍就整明白了。你找一张草纸,自己手动模拟计算过程。

我的草纸内容和思路:(我的个人理解嗷,不是多正规,但至少说通了)

i代表的第几行,每一个J是一个空格,每一个K是一个*

这个结构是i是父循环,J和K平行,都是子循环

首先是大条件i=1,i<5,i++

然后开始执行子循环,子循环一直进行,直到受限制再进行下一轮父循环

第一轮子循环:j=i=1,j<5,j++     就一直执行这个嘛  j就等于1,有一个J了,就输出一个空格,然后循环,J=2,在输出一个空格,然后J=3,J=4,一共输出了四个空格,1234我理解为每一个数字都标志着有一个J了,每一个J就是一个空格,然后就是四个空格。

J到5了不行了,所以J的子循环结束,开始K的那个子循环。

K=0,k<1,k++,然后k=1了,然后也只能到1了。就输出一个*

第二个子循环结束,第一行结果为”口口口口*“

开始换行执行下一个父循环

于是第二行的是口口口***

第三行              口口*****

第四行              口*******

解释完了,不知道你整明白没。。。。



16 回复 有任何疑惑可以回复我~
#1

weixin_慕雪8055451

这个例子看空格数 和每行* 的个数 第一行前面需要打印四个空格 一个星 也就是1,4,1 第二行2,3,3 第三行3,2,5 第四行4,1,7 然后空格,*都和外循环 i 执行次数也就是行有关,固可从中发现规律进行代码的编写
2019-12-03 回复 有任何疑惑可以回复我~
#2

子非鱼12138 提问者

其他都懂,就是这个空格数量不懂, 我理解的是 j=i的嘛,不应该是第一行1个空格,2行2个空格,3行3个空格,4个空格的么
2019-12-06 回复 有任何疑惑可以回复我~
#3

子非鱼12138 提问者

懂了懂了,谢谢大佬
2019-12-06 回复 有任何疑惑可以回复我~
#4

weixin_慕姐5188618

。。。。。。。。。。。。。我以为后面的空格也算
2019-12-21 回复 有任何疑惑可以回复我~
#5

慕姐5240709

讲得很有道理哈
2020-01-31 回复 有任何疑惑可以回复我~
查看2条回复

举报

0/150
提交
取消
C语言入门
  • 参与学习       924376    人
  • 解答问题       20753    个

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

进入课程

看不懂,可以解释一下吗

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信