Jackdaw 发表于 2017-3-19 15:34 嗯嗯 谢谢 |
wxy 发表于 2017-3-19 14:57 额,这个都找到了,你写到文件里的数据不都是按行,一行一行的排列好的吗,既然找到了想找的行数,直接把相应的数据输出就行 |
wxy 发表于 2017-3-19 14:12 参考这个示例 |
QQ图片20170319142811.png (22.99 KB, 下载次数: 631)
|
[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, 下载次数: 599)
捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )
GMT+8, 2025-12-15 04:07