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

什么原理啊

#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("*");   怎么做到一行输出多个*号的

        }

求大神讲解,谢谢

*/




正在回答

3 回答

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

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

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

   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个*     结束。


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

qq_慕侠2053952 提问者

他是怎么一下输出多个*和空格的呢,打印里面分别只有一个啊
2020-03-17 回复 有任何疑惑可以回复我~

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

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

举报

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

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

进入课程

什么原理啊

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