不是很懂这个程序,请问有大佬路过给我讲解一下么?

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

Unspx_owner

2018-01-26 14:46

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");     //每次循环换行
    }

写回答 关注

1回答

  • ArsNova
    2018-01-26 15:36:42
    已采纳

    *****代码一共两层循环,第一层控制行数,第二层控制输出。

    第一层循环是控制行数,如当i=1,就是进入第一行进行输出。

    *****进入第一层循环后,开始第二层循环。

    首先是输出空格,每行空格数递减,第一行需要4个空格,第二行需要3个空格,以此类推,所以令j=i,随着i的递增,空格循环次数减小。

    当空格输出完毕,则开始输出*,当i=1,k的值为1,由于k初值为0,所以会循环1次,也就是输出1个*,到这里*循环结束,跳出for循环,再执行"\n"换行。

    到这里i=1的循环结束,然后开始i=2的循环。

    *****不知道看不看得懂啊。。。。。。

    慕标7134...

    那为什么要先打空格不先打*呢。。。我也不是很明白这个

    2018-03-12 20:24:39

    共 5 条回复 >

C语言入门

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

926020 学习 · 20793 问题

查看课程

相似问题