回 帖 发 新 帖 刷新版面

主题:新手问题

有文件一:A.txt有数据如下:
13    565102.826     3887307.067
14    565100.635     3887308.251
15    565098.444  3887309.435
16    565096.254     3887310.619
17    565094.063     3887311.803
18    565091.873     3887312.986
19    565089.682     3887314.170
20    565087.492  3887315.354
21    565085.301     3887316.538
22    565083.111     3887317.722
23    565080.920     3887318.906
24    565078.729     3887320.090
25    565076.539     3887321.274
……
文件二:B.txt
13
14
18
20
23
……
现在想用B文件中的数据,把A文件中第一列与之相同的三列数据提取出来,存在新文件C.txt中。
对于,各位高手来说这应该是个小问题,小弟刚开始学习fortran。希望能帮忙解决下,谢谢!

回复列表 (共1个回复)

沙发

program readfun
implicit none
integer:: i,j
double precision:: d1,d2

open(unit=11,file="a.txt",status='old')
open(unit=21,file="b.txt",status='old')
    do
        read(21,*,end=200)i
        do
            read(11,*,end=100)j,d1,d2
            if(j .eq. i) print*,j,d1,d2 ! or codes for saving data in c.txt
        enddo
100 rewind 11
    enddo
200 close(11); close(21)

end program

我来回复

您尚未登录,请登录后再回复。点此登录或注册