新手求教循环问题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 就是这个道理.
----------------解决方案--------------------------------------------------------
我觉得练习之前最好把例子在纸上写出来,弄明白流程图,.....
----------------解决方案--------------------------------------------------------
谢谢各位~明白了~
----------------解决方案--------------------------------------------------------
有点明白了也
----------------解决方案--------------------------------------------------------
讲得很明白呀
----------------解决方案--------------------------------------------------------