地球的平均半径为6371千米,已知地球上两个城市A、B的经度和纬度,编程序求出这两个城市之间的地面距离

来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/17 16:27:29
地球的平均半径为6371千米,已知地球上两个城市A、B的经度和纬度,编程序求出这两个城市之间的地面距离地球的平均半径为6371千米,已知地球上两个城市A、B的经度和纬度,编程序求出这两个城市之间的地面

地球的平均半径为6371千米,已知地球上两个城市A、B的经度和纬度,编程序求出这两个城市之间的地面距离
地球的平均半径为6371千米,已知地球上两个城市A、B的经度和纬度,编程序求出这两个城市之间的地面距离

地球的平均半径为6371千米,已知地球上两个城市A、B的经度和纬度,编程序求出这两个城市之间的地面距离
求出经纬度差,根据cosθ=cosθ1cosθ2求出两城到球心的角的弧度θ,再根据L = θ * R可求球面距离.
编程如下,仅是给个思路,考虑不周之处楼主请自行完善.
#include
#include
#include
using namespace std;
const double R = 6371.0;
const double PI = 3.141592653;
struct Coordinate
{
\x09string X;//经度
\x09string Y;//纬度
};
double GetTheta(Coordinate& A,Coordinate& B)
{
\x09int la,lb;
\x09double a,b,dx,dy;
\x09char cha,chb;
\x09string ax,ay,bx,by;
\x09ax = A.X;
\x09ay = A.Y;
\x09bx = B.X;
\x09by = B.Y;
\x09la = ax.length();
\x09lb = bx.length();
\x09cha = ax[la-1]; ax[la-1] = 0;
\x09chb = bx[lb-1]; bx[lb-1] = 0;
\x09sscanf(ax.data(),"%lf",&a);
\x09sscanf(bx.data(),"%lf",&b);
\x09if(cha == chb)
\x09\x09dx = abs(a-b);
\x09else
\x09{
\x09\x09dx = abs(a+b);
\x09\x09if(dx > 180) dx = 360 - dx;
\x09}
\x09la = ay.length();
\x09lb = by.length();
\x09cha = ay[la-1]; ay[la-1] = 0;
\x09chb = by[lb-1]; by[lb-1] = 0;
\x09sscanf(ay.data(),"%lf",&a);
\x09sscanf(by.data(),"%lf",&b);
\x09if(cha == chb)
\x09\x09dy = abs(a-b);
\x09else
\x09\x09dy = abs(a+b);
\x09dx = dx * PI / 180;//角度转弧度
\x09dy = dy * PI / 180;
\x09return acos(cos(dx)*cos(dy)) ;
}
int main()
{
\x09double theta,dis;
\x09Coordinate A,B;
\x09A.X = "12.35E";
\x09A.Y = "23.05N";
\x09B.X = "30.25E";
\x09B.Y = "20.28S";
\x09theta = GetTheta(A,B);
\x09dis = theta * R;
\x09printf("%.2lfkm\n",dis);
\x09
\x09return 0;
}

已知地球的平均半径是6371千米,求得地球的表面积为多少平方千米? 地球的平均半径为6371千米,已知地球上两个城市A、B的经度和纬度,编程序求出这两个城市之间的地面距离 地球的平均半径为6371千米,已知地球上两个城市A、B的经度和纬度,编程序求出这两个城市之间的地面距离 地球的平均半径约为多少千米 地球的平均半径是多少千米 地球的平均半径是多少千米 1.已知地球的平均半径为6371千米,假设在地球的同一纬度上,有两个处于不同经度的城市A、B,编程序求出这两个城市之间的地面距离. 已知地球的平均半径为6371千米,假设在地球的同一纬度上,有两个处于不同经度的城市A、B,求A,B之间距离 假设地球是正球体,平均半径为6371千米纬度为0时的角速度 地球极半径为6357千米,赤道半径为6378千米,平均半径怎么会是6371千米 地球的平均半径 地球的平均半径 某行星的平均密度为地球的一半,今把一单摆从地球移到该行星上,其振动周期变为在地球上的2倍,已知地球半径为R,求该行星的半径 某行星的平均密度为地球的一半,今把一单摆从地球移到该行星上,其振动周期变为在地球上的2倍,已知地球半径为R,求该行星的半径  地球的平均赤道半径为 地球的平均半径为多少 已知地球的半径为6400千米,地球的赤道约长多少?(算式) 四道万有引力的题,1.已知地月平均距离为38.4万千米,引力常量为G,地球的平均半径为6371km.求地球质量是多少?密度是多少?2.在月球上以初速度V0竖直上抛一个小球,经过时间t落回到抛出点,已知