当前位置: 代码迷 >> C语言 >> 新手求教循环问题2
  详细解决方案

新手求教循环问题2

热度:55   发布时间:2008-02-25 13:08:25.0
新手求教循环问题2
求下面的m的值.
int i,j,m=0;
for(i=1;i<=15;i+=4)
for(j=3;j<=19;j+=4) m++;
printf("%d\n",m);

答案是20.
请问:我一直想不明白m++于前面的循环体有什么关系呢?为什么得20呢?
它是如何循环得到的呢?请大侠告知,谢谢~!!
----------------解决方案--------------------------------------------------------
内外层循环之积(先外层循环一次,内层循环多次)再返回去依次类推.

[[it] 本帖最后由 xianshizhe111 于 2008-2-25 18:07 编辑 [/it]]
----------------解决方案--------------------------------------------------------
int i,j,m=0;
for(i=1;i<=15;i+=4)
for(j=3;j<=19;j+=4) m++;
printf("%d\n",m);


我的经验也很少,但是能看明白,说不出这是在求什么,现把我的心得与你交流下。

头一道循环,是I从1~15之间,I每次增值为4;第二道循环,是J从3~19之间,每次增值为4。

而M是它们每增值一次,M自增一次。

算下来,I增值4次,每次为:1,5,9,13;J增值5次,依次为:3,7,11,15,19。而J循环是在I循环之中的,所以M共自增了20次。

最后输出M为20。


也不知道我解释得对不对,你听没听明白。

如果有高手,请再指点一下。
----------------解决方案--------------------------------------------------------
yes 就是这个道理.
----------------解决方案--------------------------------------------------------
我觉得练习之前最好把例子在纸上写出来,弄明白流程图,.....
----------------解决方案--------------------------------------------------------
谢谢各位~明白了~
----------------解决方案--------------------------------------------------------
有点明白了也
----------------解决方案--------------------------------------------------------
讲得很明白呀
----------------解决方案--------------------------------------------------------
  相关解决方案