Jackdaw 发表于 2017-3-19 15:34 嗯嗯 谢谢 |
wxy 发表于 2017-3-19 14:57 额,这个都找到了,你写到文件里的数据不都是按行,一行一行的排列好的吗,既然找到了想找的行数,直接把相应的数据输出就行 |
wxy 发表于 2017-3-19 14:12 参考这个示例 |
QQ图片20170319142811.png (22.99 KB, 下载次数: 315)
[Fortran] 纯文本查看 复制代码 real function distance(lat1, lon1, lat2, lon2) real , parameter :: R=6378.137 real lon1 , lat1 , lon2 , lat2 distance = (R*cos(lon1)*cos(lat1)+R*cos(lon2)*cos(lat2))/sqrt(sin(lon1)**2*sin(lon2)**2+sin(lat1)**2*sin(lat2)**2) end function distance program none implicit none integer i,m character(len=12):: site real :: lat , lon , lat1 , lon1 , distance real , allocatable :: lat2(:) , lon2(:) open(7,file="find_close.txt") open(10,file="find.txt") m=46154 !行数 allocate(lat2(m),lon2(m)) Write (*,*) 'lon:'!输入经度 Read (*, '(f7.3)') lon Write (*,*) 'lat:'!输入纬度 Read (*, '(f6.3)') lat do i=1,m lon1=lon lat1=lat read(7,'(a9,2x,f6.3,2x,f7.3)') site , lat2(i) , lon2(i) write(10,'(a9,2x,f6.2,2x,f7.2,2x,f9.3)') site , lat2(i) , lon2(i) , distance(lat1, lon1, lat2, lon2) end do end program |
QQ图片20170319124945.png (10.12 KB, 下载次数: 288)
捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )
GMT+8, 2024-12-24 01:54