24小时热门版块排行榜    

查看: 738  |  回复: 1

zl2013

铜虫 (正式写手)

[求助] fortran程序求助

本人对fortran是新手,没有学习多久,现在有一个数据我想对它进行处理选择一些我想要的数据
program dajiahao
real*8 x,y
integer n
open(unit=1,file='e:\mg\2000\data\8dip\one.dat')
open(unit=2,file='e:\mg\2000\data\8dip\two.dat')
do while(.not.eof(1))
read(1,*)x
y=1/x
if0.1<y.and.y<0.2write(2,*)y,x
close(1)
close(2)
end
如上所述,我读取one.dat文件中数据,将大小范围在0.1和0.2之间的数取得并且将写入到two.dat文件中,
现在我想让这个范围是一个变化的范围,比如
改成  if 0.1*(n+1)<y.and.y<0.2*(n+3)write(2,*)y,x
这里的n取整数,我想应该是加一个循环进去,可是加来家去也没有弄出来,请给为fortran学习者指教。
在这里先感谢大家,谢谢。
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

凉白开
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

tutu6287

银虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★
zl2013: 金币+5, 有帮助, 谢谢 2013-11-22 08:56:11
program dajiahao
real*8 x,y
integer n
open(unit=1,file='e:\mg\2000\data\8dip\one.dat')
open(unit=2,file='e:\mg\2000\data\8dip\two.dat')
do while(.not.eof(1))
read(1,*)x
y=1/x
if0.1<y.and.y<0.2write(2,*)y,x
end
!Files should be closed at the end
close(1)
close(2)

下面的更规范些:
if 0.1*((Real)n+1.0)<y.and.y<0.2*((Real)n+3.0)write(2,*)y,x
2楼2013-11-21 16:46:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 zl2013 的主题更新
信息提示
请填处理意见