fortran语言 循环问题program eee integer a a=1 do 11 a=1,10 if (a.GE.5) go to 11 write(*,*)a11 continue write(*,*)a stopend请问为什么出来的结果是1,2,3,4,11呢?求大神解答,无限感谢~~

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/10 20:18:38
fortran语言 循环问题program eee   integer a   a=1   do 11 a=1,10       if (a.GE.5) go to 11        write(*,*)a11 continue   write(*,*)a   stopend请问为什么出来的结果是1,2,3,4,11呢?求大神解答,无限感谢~~

fortran语言 循环问题program eee integer a a=1 do 11 a=1,10 if (a.GE.5) go to 11 write(*,*)a11 continue write(*,*)a stopend请问为什么出来的结果是1,2,3,4,11呢?求大神解答,无限感谢~~
fortran语言 循环问题
program eee
integer a
a=1
do 11 a=1,10
if (a.GE.5) go to 11
write(*,*)a
11 continue
write(*,*)a
stop
end
请问为什么出来的结果是1,2,3,4,11呢?求大神解答,无限感谢~~

fortran语言 循环问题program eee integer a a=1 do 11 a=1,10 if (a.GE.5) go to 11 write(*,*)a11 continue write(*,*)a stopend请问为什么出来的结果是1,2,3,4,11呢?求大神解答,无限感谢~~
第一次,输出1
第二次,输出2
第三次,输出3
第四次,输出4
第五次,大于等于5,跳到下一次循环.
第六次,同上
第七次,同上
...
第10次,同上.
最后,输出a = 11
因此,结果是1,2,3,4,11
如果你想输出1,2,3,4,5.那么这样:
do 11 a=1,10
if (a.GE.5) go to 12
write(*,*)a
11 continue
12 write(*,*)a
不过这样的写法不好,最好是这样:
do a=1,10
if (a.GE.5) Exit
write(*,*)a
End Do
write(*,*)a
如果写成
do a=1,10
if (a.GE.5) Cycle
write(*,*)a
End Do
write(*,*)a
则等于你的代码了.