以文本方式查看主题 - Fortran中文网 (http://fortran.cn/bbs/index.asp) -- Fortran语言使用经验交流 (http://fortran.cn/bbs/list.asp?boardid=2) ---- 为什么没输出 (http://fortran.cn/bbs/dispbbs.asp?boardid=2&id=1950) |
-- 作者:yjb23 -- 发布时间:2009/8/30 9:35:10 -- 为什么没输出 real x,y0,y1 print*,"请输入初值x:" read *,x y0=x y1=2*y0/3+x/(3*y0**2) do while(abs(y1-x)>1d-6) y0=y1 y1=2*y0/3+x/(3*y0**2) end do print*,y1 end 请高手指点一下,为什么这个程序输入x 以后没有输出,谢谢! |
-- 作者:水木清华 -- 发布时间:2009/8/30 15:43:36 -- 把程序中do while这一句改为:do while(abs(y1-y0)>1d-6)就有输出了。 |
-- 作者:yjb23 -- 发布时间:2009/8/30 20:42:27 -- 新手学习中 多谢了! 我还是想问一下,为什么改了以后就有输出,x与y0的主要区别是什么 |
-- 作者:tsz2008 -- 发布时间:2011/5/3 20:40:45 -- 楼上的正解。 这是一个迭代算法,如果条件中X不变化,永远也跳不出循环了 y1-y0 就行了。 |