求高手帮我做一下这道c语言编程题目

1.已知地球的平均半径为6371千米,假设在地球的同一纬度上,有两个处于不同经度的城市A、B,编程序求出这两个城市之间的地面距离。cyh19921118@126.com谢... 1.已知地球的平均半径为6371千米,假设在地球的同一纬度上,有两个处于不同经度的城市A、B,编程序求出这两个城市之间的地面距离。

cyh19921118@126.com 谢谢啦、!
展开
 我来答
白一戸
2012-03-01 · TA获得超过102个赞
知道小有建树答主
回答量:168
采纳率:0%
帮助的人:158万
展开全部
#include <stdio.h>
#include <math.h>
#define PI 3.14 //圆周率
#define RAD 6371 //地球半径
int main()
{
double peri; //小圆周长
double rad; //小圆半径
double length;
double longitudeA , longitudeB; //A,B经度
double latitude; //A,B纬度
double temp;
printf("请输入A和B的经度:\n");
scanf("%lf%lf",&longitudeA,&longitudeB);
printf("请输入A和B的纬度:\n");
scanf("%lf",&latitude);
rad = cos(latitude) * RAD;
peri = 2*PI*rad;
temp = longitudeA - longitudeB;
length = (temp >0 ? temp : (temp*-1))/360 * peri;
printf("A和B的距离是:%f千米\n",length);

return 0;
}
yechun21
2012-03-01 · 超过14用户采纳过TA的回答
知道答主
回答量:31
采纳率:0%
帮助的人:40.6万
展开全部
#define RADII_OF_EARTH (6371)
#define PIE (3.1415926)
#define TRANSLATE(a) ((a/360)*2*PIE)

float GetSurfaceDistance(float fFirstLong, float fSecondLong, float fLat)
{
float fSurDistce = -1.0;
float fTmp = -1.0;
fFirstLong = TRANSLATE(fFirstLong);
fSecondLong = TRANSLATE(fSecondLong);
fLat = TRANSLATE(fLat);

fTmp = (fFirstLong > fSecondLong)?(fFirstLong - fSecondLong): (fSecondLong - fFirstLong);
fTmp = fTmp/2;
fSurDistce = 2 * RADII_OF_EARTH * asin((cos(fLat)*sin(fTmp)));
return fSurDistce;
}
//输入的参数为第一个城市的经度,第二个城市的经度,及他们的纬度
int main(char argc, char *argv[])
{
float fDistance = 0.0;
if (argc != 4)
{
printf("argc error!\r\n");
return -1;
}
fDistance = GetSurfaceDistance(atoi(argv[1]),atoi(argv[2]),atoi(argv[3]));
printf("The SurfaceDistance between A and B is: %f\r\n", fDistance);
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
人生真情长存6334
2012-03-01 · TA获得超过5.4万个赞
知道大有可为答主
回答量:2.7万
采纳率:0%
帮助的人:3478万
展开全部
(两个城市的经度之差/360° )X 周长=A与B的距离。因为出于同意维度上,所以AB不可能出现在地球仪的中心轴两边,可定在同一边,这就好算了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式