for循环的嵌套问题,新手,快崩溃了
mathcad吧
全部回复
仅看楼主
level 2
SHOUJIE2012 楼主
如题,程序如下,想在x小于4的时候和y大于5的时候跳出循环,并返回a和b的值,但结果直接输出了最后一个a和b的值,不是很理解
2015年08月21日 07点08分 1
level 2
SHOUJIE2012 楼主
只有一个for循环,就可以识别break,用了两个,直接识别不了,试了很多次,直接输出最后一个a和b
2015年08月21日 08点08分 2
level 13
请问在什么时候会出现x<4和y>5呢?
2015年08月21日 09点08分 3
谢谢解答,我只是举了个例子,我试了好多,下面这个应该可以解出的
2015年08月21日 09点08分
level 2
SHOUJIE2012 楼主
谢谢解答,我只是举了个例子,下面这个应该可以解出a为6,b为2的,可还是只是输出最后
一个值
2015年08月21日 09点08分 4
level 13
if前面用return(a,b)
2015年08月21日 09点08分 5
谢谢,一大早就看到这么多回答,好感动
2015年08月22日 01点08分
我把break改成return了,好像还是没用,见楼下
2015年08月22日 02点08分
level 7
2015年08月21日 14点08分 6
谢谢,[大拇指],break只能终止一个循环
2015年08月22日 01点08分
我用你的方法试了另外一个程序,好像解不出来,应该有解6和2程序见楼下
2015年08月22日 02点08分
level 11
mathcad中的break只能跳出一个循环体,这一点你已经看到了。
要直接跳出两个for构成的嵌套循环,可以根据实际需要来,比如一楼中给出的函数,跳出两个for循环的目的是终止函数并输出值,那么就不需要用break来终止循环,可以直接使用return (a,b)终止函数体并返回(a,b)的值。
如果需求是要从嵌套的循环体中跳出但不终止函数(函数继续向后运行),那么就需要点折中的办法。
for (i)
__for (j)
____ if 条件
________jump←1
________break
break if jump
在内循环达成break条件时,先给jump赋值为1,然后再break跳出内循环,在外循环中根据jump的值来break跳出外循环,这样就实现了跳出嵌套循环。
2015年08月21日 14点08分 7
你的回答太详细了,谢谢[大拇指]
2015年08月22日 01点08分
level 2
SHOUJIE2012 楼主
好像还是无解
2015年08月22日 02点08分 8
level 2
SHOUJIE2012 楼主
2015年08月22日 02点08分 9
level 7
问题可能出在你的判断精度上
2015年08月22日 07点08分 10
太谢谢您了,由于这个东西和C语言有很大的不同,完全搞不懂他的for循环是怎么遍历的,我还有一个问题,不知你能否有空看下,问题见楼下[泪]
2015年08月22日 08点08分
level 2
SHOUJIE2012 楼主
如程序所示,我想实现当x的值为5和7的时候不进行和计算,即不加入s1,跳过这次,重新进行下一次循环,就如右边所示,剔除1+4,2
+3
,2+5,3+4,最后的值应该为30,可是试了很多次都为54和21,弄不清for循环是如何遍历的
2015年08月22日 08点08分 11
level 2
SHOUJIE2012 楼主
上面弄错了,判断条件应该是或运算,但还是结果不正确
2015年08月22日 09点08分 12
level 7
2015年08月22日 13点08分 13
谢谢你啊,耐心的回答了我好多问题,这个解决办法不错,我想问一下,能不能实现,满足条件后结束本次循环,即不再继续往下计算,进行下一次内循环直至满足条件
2015年08月25日 01点08分
@SHOUJIE2012 continue
2015年08月25日 05点08分
回复
���Ͻ���
:thanks
2015年08月25日 07点08分
1