求解C语言编程 5
1.已知地球的平均半径为6371千米,假设在地球的同一纬度上,有两个处于不同经度的城市A、B,编程序求出这两个城市之间的地面距离。输入数据样例:例如,欲求北纬30度上东经...
1.已知地球的平均半径为6371千米,假设在地球的同一纬度上,有两个处于不同经度的城市A、B,编程序求出这两个城市之间的地面距离。
输入数据样例:例如,欲求北纬30度上东经10度到东经50度的距离,输入格式应为:30 10 50
2.地球的平均半径为6371千米,已知地球上两个城市A、B的经度和纬度,编程序求出这两个城市之间的地面距离。
谢谢帮忙! 展开
输入数据样例:例如,欲求北纬30度上东经10度到东经50度的距离,输入格式应为:30 10 50
2.地球的平均半径为6371千米,已知地球上两个城市A、B的经度和纬度,编程序求出这两个城市之间的地面距离。
谢谢帮忙! 展开
2个回答
展开全部
已知两地的经度分别为σ1、σ2,纬度分别为φ1、φ2,求两地最近距离的公式为:
S=2πRθ/360° (1)
其中θ可由下面的式子求得:
[sin(θ/2)]^2=[sin(φ1-φ2)/2]^2+[sin(σ2-σ1)/2]^2cosφ1cosφ2 (2)
注:1、式中S为球面上任意两点的最短距离(球面距离);
2、θ为两点间的张角,在运用(2)式求θ时,纬度φ和经度σ本身有正负号,通常北纬正,南纬负;东经正,西经负。
3、因不会用上下标,所以式中^2指平方; cosφ1cosφ2、σ2-σ1 、φ1-φ2中的1和和2为下标。
我想你的问题是不知道公式,知道公式后就是C语言做个算术题,这个不用我教了吧。
S=2πRθ/360° (1)
其中θ可由下面的式子求得:
[sin(θ/2)]^2=[sin(φ1-φ2)/2]^2+[sin(σ2-σ1)/2]^2cosφ1cosφ2 (2)
注:1、式中S为球面上任意两点的最短距离(球面距离);
2、θ为两点间的张角,在运用(2)式求θ时,纬度φ和经度σ本身有正负号,通常北纬正,南纬负;东经正,西经负。
3、因不会用上下标,所以式中^2指平方; cosφ1cosφ2、σ2-σ1 、φ1-φ2中的1和和2为下标。
我想你的问题是不知道公式,知道公式后就是C语言做个算术题,这个不用我教了吧。
追问
请把C语言编程写出来
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询