wawewen 发表于 2019-11-21 16:48:34

计算txt两列文件数据

本帖最后由 wawewen 于 2019-11-21 17:05 编辑

前情提要,本人才在学习Fortran,txt文档两列数据,行数位未知,第一列a,第二列b,求b/a生成在另一个文档中,本着家庭作业自己写的原则,试着写了一下,问题很多,有没有大佬指导一下作业
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:39

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:53

vvt 发表于 2019-11-21 20:15
Program main
implicit none
real a,b

感谢大佬,其实最主要的问题还是txt文件读写模糊不清,这下明白了,要写的是直角坐标转换极坐标的一个计算,看了你写的之后才恍然大悟啊,学到了,已经写出来了,万分感谢,可能以后问题还很多,还望不吝赐教

lumlngz 发表于 2023-4-25 18:33:20

vvt 发表于 2019-11-21 20:15
Program main
implicit none
real a,b


你好老师,我想问一下第7行代码read语句里面的end=1的作用是什么,这里我在教科书上没有找到。

vvt 发表于 2023-4-25 20:29:53

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

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

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

lumlngz 发表于 2023-4-25 20:47:25

vvt 发表于 2023-4-25 20:29
遇到文件结束的话,跳转到语句标号为 1 的语句继续执行。

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

哦哦哦我明白了谢谢!
页: [1]
查看完整版本: 计算txt两列文件数据