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

在循环结构之多重循环中为什么要用 for(k=0;k<2*i-1;k++) 这个

 for(k=0;k<2*i-1;k++) 是什么意思啊

正在回答

1 回答

我来尝试解释你的这个问题吧,首先我们先观察一下代码

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

}

我们发现 i 是控制输出换行的,k是控制输出*号的

然后我们看一下要求我们的代码实现的效果如下:

   *
  ***
 *****
*******

这时候我们观察一下“行数i”与“*号k”之间是不是存在函数关系

第一行,即i=1 时 

*号为一个 即k=1

。。。i=2时

。。。k=3

。。。i=3时

。。。k=5

。。。i=4时

。。。k=7

这时候我们发现k总是比i的2倍少1,于是我们换成表达式即为;

k=2i-1

这时候当子循环的起始数值k定义为0,当父循环i的值为1时我们的子循环也能执行一次。这就是为什么子循环是

for(k=0;k<2*i-1;k++);

纯手打,望采纳!!!

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

qq_不离_03379095 提问者

非常感谢!
2016-07-24 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

在循环结构之多重循环中为什么要用 for(k=0;k<2*i-1;k++) 这个

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