Fortran Coder

查看: 7774|回复: 9
打印 上一主题 下一主题

[流程控制] cycle无法根据if条件进行判断

[复制链接]

20

帖子

8

主题

0

精华

熟手

F 币
115 元
贡献
71 点
跳转到指定楼层
楼主
发表于 2014-10-17 03:15:18 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
[size=14.3999996185303px]在这个程序的cycle部分,我想实现 : 如果x在0和1之间就退出循环,否则不断要求输入x和n。编译成功,但输入正确后,仍然循环,如输入0.5  100。恳请大家指教^^


[size=14.3999996185303px]IVF, Win7, fortran 95

[Fortran] 纯文本查看 复制代码
program ln
    implicit none
    real::x,term,sum=0
    integer::n
    do
        print*,'please input x and n'
        read*,x,n
        if(x>1.or.x<0.000001) cycle
    end do
    do 
        term=(x**n)/n
        sum=sum+term
        n=n-1
        if(n==0) exit
    end do
    print*,sum
    end program ln


分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

20

帖子

8

主题

0

精华

熟手

F 币
115 元
贡献
71 点
沙发
 楼主| 发表于 2014-10-17 14:48:54 | 显示全部楼层

没法用cycle实现吗?

20

帖子

8

主题

0

精华

熟手

F 币
115 元
贡献
71 点
板凳
 楼主| 发表于 2014-10-17 15:15:44 | 显示全部楼层
hanshikai 发表于 2014-10-17 08:03
第一个循环没有退出条件,所以会一直循环下去,也就是不停地要求输入x,n

有退出条件啊,不满足if里的条件不就退出了吗?

20

帖子

8

主题

0

精华

熟手

F 币
115 元
贡献
71 点
地板
 楼主| 发表于 2014-10-17 22:11:14 | 显示全部楼层
楚香饭 发表于 2014-10-17 16:00
你没有写 else exit

if 的意思是,如果。而不是:只有

sorry, can you please give me a modified version? and I still don't understand the syntax of "circle"

xue xiao mei you zhong wen shu ru fa, bu hao yi si la^^,

20

帖子

8

主题

0

精华

熟手

F 币
115 元
贡献
71 点
5#
 楼主| 发表于 2014-10-18 01:12:27 | 显示全部楼层
楚香饭 发表于 2014-10-17 16:00
你没有写 else exit

if 的意思是,如果。而不是:只有

理解了,谢谢!!
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-4 21:12

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表