24小时热门版块排行榜    

CyRhmU.jpeg
查看: 468  |  回复: 5

kardrine

新虫 (初入文坛)

[交流] 求指点2已有1人参与

program GUESS
    implicit none
    real,parameter::weight=45.0
    real,parameter::e=0.001
    real::guess=0.0
    do while(abs(guess-weight)>e)
        write(*,*) "weight:"
        read(*,*)   guess
    enddo
    write(*,*)"you are right"
    stop
    end
这个程序测试下,可是为什么输出正确答案后,窗口一闪就没了么?不会停留,不眨眼睛的看,也就只能看一眼“you are right”
而且,循环里的循环条件不应该是abs(guess-weight)<e吗?为什么是abs(guess-weight)>e?
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

7152075

铁杆木虫 (著名写手)

解决问题的方法比遇到的问题多


小木虫: 金币+0.5, 给个红包,谢谢回帖
首先,你的主程序名叫GUESS和你后面real名称guess是一样的,这种习惯非常不好,尽可能使主程序名与你后面声明的变量名不要一样(Fortran是不区分大小写的)。
然后,如果你没有看见“you are right”的话,你在stop前加一个read(*,*),我猜你用的是IVF编译器。
最后,循环条件是abs(guess-weight)>e才对。do while()括号里的条件意思是:只要括号里条件成立则一直循环,否则跳出循环。如果你写<e,意思是只要你猜的体重和实际体重小于e,则就循环,与你实际的逻辑是不符的。
Chemistry
2楼2016-03-16 20:06:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

kardrine

新虫 (初入文坛)

谢谢,关于abs函数知道了。另外我用的是visual studio这个软件,加read,要read什么?多谢指教

发自小木虫Android客户端
3楼2016-03-16 22:55:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

7152075

铁杆木虫 (著名写手)

解决问题的方法比遇到的问题多


小木虫: 金币+0.5, 给个红包,谢谢回帖
引用回帖:
3楼: Originally posted by kardrine at 2016-03-16 22:55:44
谢谢,关于abs函数知道了。另外我用的是visual studio这个软件,加read,要read什么?多谢指教

因为VS+IVF通常容易出现你说的那个问题,即运行结果一闪而过,加上read(*,*),类似于缓冲一下,程序到read(*,*)等待用户按任意键才继续,这样read(*,*)前运行的结果就会出现在黑框中了。
Chemistry
4楼2016-03-17 08:28:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

7152075

铁杆木虫 (著名写手)

解决问题的方法比遇到的问题多


小木虫: 金币+0.5, 给个红包,谢谢回帖
引用回帖:
3楼: Originally posted by kardrine at 2016-03-16 22:55:44
谢谢,关于abs函数知道了。另外我用的是visual studio这个软件,加read,要read什么?多谢指教

就加read(*,*),其它什么也不加。即在源程序倒数第三行多加的样子:
program GUESS1
    implicit none
    real,parameter::weight=45.0
    real,parameter::e=0.001
    real::guess=0.0
    do while(abs(guess-weight)>e)
        write(*,*) "weight:"
        read(*,*)   guess
    enddo
    write(*,*)"you are right"
    read( *,* )
    stop
    end
Chemistry
5楼2016-03-17 08:31:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

kardrine

新虫 (初入文坛)

6楼2016-03-17 09:03:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 kardrine 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见