求大佬解释

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

qq_慕丝9066459

2019-09-08 21:41

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

怎么运行的?


写回答 关注

5回答

  • 小小疾飞
    2019-09-09 16:31:56
    已采纳

    就是一行一行输出空格或*。仔细观察。空格可以看出逐行减少,*逐行增加。那么这两个东西是跟着行数i变化的。空格可以看出每加一行少一个,第一行最多,为3个。那么可以这样写 for(  j=i ;  j<5 ; j-- ) 。*每行都增加。下一行比上一行多两个,很容易看出是2n-1的关系,所以可以这样写for( k=1 ;  k<2*i-1;  k++ ) 。怎么样理解没?

    慕设计338... 回复qq_慕丝9...

    为什么呢

    2019-09-20 14:50:30

    共 2 条回复 >

  • C_Bridge
    2019-10-03 22:13:33

    为什么j=i?

  • 慕数据0096004
    2019-09-29 16:06:30

    为什么j=1,j<5,j++.?我看不明白

  • 柳青夜明
    2019-09-09 15:44:29

    同问,为什么要k<i*2-1?

    慕桂英028...

    *的递增规则是1 3 5 而行数是1 2 3 能看出关系是i*2-1

    2019-09-11 14:24:30

    共 1 条回复 >

  • Khaleesiyoo
    2019-09-08 22:01:35

    同问,这块我也没看懂

C语言入门

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

926020 学习 · 20793 问题

查看课程

相似问题