Fortran Coder

标题: 计算txt两列文件数据 [打印本页]

作者: wawewen    时间: 2019-11-21 16:48
标题: 计算txt两列文件数据
本帖最后由 wawewen 于 2019-11-21 17:05 编辑

前情提要,本人才在学习Fortran,txt文档两列数据,行数位未知,第一列a,第二列b,求b/a生成在另一个文档中,本着家庭作业自己写的原则,试着写了一下,问题很多,有没有大佬指导一下作业
[Fortran] 纯文本查看 复制代码
 program main
implicit none
integer,parameter::n=1000
integer::i
dimension a(i),b(i)
open(unit=10,file='C:\Users\Lenovo\Desktop\3.txt')
do i=1,n
read(10,*,end=1)a(i),b(i)
open(20,file="C:\Users\Lenovo\Desktop\4.txt",
&status='unknown')
write(unit=20,*)b(i)/a(i)
end do
close(20)
1        continue
end


作者: vvt    时间: 2019-11-21 20:15
[Fortran] 纯文本查看 复制代码
Program main
  implicit none
  real a,b
  open(10,file='C:\Users\Lenovo\Desktop\3.txt')
  open(20,file="C:\Users\Lenovo\Desktop\4.txt")
  Do
    read(10,*,end=1) a , b
    write(20,*) b/a
  End Do
1 close(20)
  close(10)
End Program Main

作者: wawewen    时间: 2019-11-22 10:25
vvt 发表于 2019-11-21 20:15
[mw_shl_code=fortran,true]Program main
  implicit none
  real a,b

感谢大佬,其实最主要的问题还是txt文件读写模糊不清,这下明白了,要写的是直角坐标转换极坐标的一个计算,看了你写的之后才恍然大悟啊,学到了,已经写出来了,万分感谢,可能以后问题还很多,还望不吝赐教
作者: lumlngz    时间: 2023-4-25 18:33
vvt 发表于 2019-11-21 20:15
[mw_shl_code=fortran,true]Program main
  implicit none
  real a,b

你好老师,我想问一下第7行代码read语句里面的end=1的作用是什么,这里我在教科书上没有找到。
作者: vvt    时间: 2023-4-25 20:29
lumlngz 发表于 2023-4-25 18:33
你好老师,我想问一下第7行代码read语句里面的end=1的作用是什么,这里我在教科书上没有找到。 ...

遇到文件结束的话,跳转到语句标号为 1 的语句继续执行。

这种写法现在不推荐,可以用 iostat 代替
作者: lumlngz    时间: 2023-4-25 20:47
vvt 发表于 2023-4-25 20:29
遇到文件结束的话,跳转到语句标号为 1 的语句继续执行。

这种写法现在不推荐,可以用 iostat 代替 ...

哦哦哦我明白了谢谢!




欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2