菜鸟一名 想请教一下DO WHILE语句的运用
CLEARA=3
DO WHLE A<=6
B=2
DO WHILE B<A
IF A/B=INT(A/B)
EXIT
ENDIF
B=B+1
ENDDO
IF A=B
??A
ENDIF
A=A+1
ENDDO
程序运行的结果是____________
答案给的是 3 5
然而我只能得出3。。。
思路如下:
a=3
判定a≤6的真假【很显然3小于等于6】
则b=2
【进入下一个DO WHILE】
判定b<a真假【2<3,判定为真,继续执行 】
如果a/b=int(a/b)【3/2
并不等于1】
那么就执行exit【不符合这个条件 继续向下走】endif
b=b+1【现在b等于3了】
endDO【这个是判定b<a的DOWHILE 的一部分对吧?】
【返回去重新判定b是否小于a,此时b=3 ,a也等于3,判定条件为假。执行endDO后面的语句。】
如果a等于b【符合条件】
显示a的值【输出3】
endif
a等于a加1【此时a为4】
endDO【这个是a≤6的一部分对吧?】
【此时回到第一个DOWHILE 判定a≤6的真假 此时a为4 条件语句为真】
于是b=2
判定b<a的真假【此时a为4 b为2 为真】
如果a/b=int(a/b)【此时是符合的!两边的值都为2】
于是exit
那么问题来了 5是从哪来的?