已知地球赤道半径为6378.137千米.不同经度(单位为度)的城市,用C语言编程序求两点间的直线距离与球面距离 5
、实验目的熟悉在VC运行环境下,编辑调试C语言程序的一般步骤。二、实验要求1.仔细阅读下列实验内容,并编写出相应的C语言源程序。2.在VC运行环境下,编辑录入源程序。3....
、实验目的
熟悉在VC运行环境下,编辑调试C语言程序的一般步骤。
二、实验要求
1. 仔细阅读下列实验内容,并编写出相应的C语言源程序。
2. 在VC运行环境下,编辑录入源程序。
3. 调试运行源程序, 注意观察调试运行过程中发现的错误及改正方法。
4. 掌握如何根据出错信息查找语法错误。
5. 最后提交带有注释的源程序文件(扩展名为.c)。 要求该文件必须能够正确地编译及运行,并不得与他人作品雷同。
6. 源程序注释信息可以包括以下几方面内容:
⑴ 程序功能描述。
⑵ 程序版本号、创作日期。
⑶ 作者信息描述:班级、学号、姓名。
⑷ 问题分析描述。
⑸ 算法设计描述。
⑹ 关键语句注释说明。
⑺ 调试运行过程中出现的错误及改正方法。
⑻ 输入数据样例。
⑼ 输出数据样例。
三、实验内容
建议:从简单到复杂,先实现同一个半球上的计算,正确运行之后再拓展到两个半球。
已知地球的赤道半径为6378.137千米。假设在赤道上,有两个处于不同经度(单位为度)的城市,用C语言编程序求出这两点之间的直线距离(即弦长)与球面距离 (即劣弧的长度)。
实验要求:
1. 计算结果要有尽可能高的精确度。
2. 要考虑到横跨东、西两个半球的情况。(提示:东经为正,西经为负。)
3. 要求输入数据之间以空格分隔。例如,欲求赤道上东经10度到东经50度的距离,输入格式应为:10 50
4. 最后提交完成的C语言源程序文件。
参考测试数据及结果:
东经0度,东经90度——直线距离9020.047727 ,球面距离10018.754000
东经20.5度,西经36.6度——直线距离6096.548421 ,球面距离6356.342816
东经160度,西经170度——直线距离3301.566601 ,球面距离3339.584667
展开
熟悉在VC运行环境下,编辑调试C语言程序的一般步骤。
二、实验要求
1. 仔细阅读下列实验内容,并编写出相应的C语言源程序。
2. 在VC运行环境下,编辑录入源程序。
3. 调试运行源程序, 注意观察调试运行过程中发现的错误及改正方法。
4. 掌握如何根据出错信息查找语法错误。
5. 最后提交带有注释的源程序文件(扩展名为.c)。 要求该文件必须能够正确地编译及运行,并不得与他人作品雷同。
6. 源程序注释信息可以包括以下几方面内容:
⑴ 程序功能描述。
⑵ 程序版本号、创作日期。
⑶ 作者信息描述:班级、学号、姓名。
⑷ 问题分析描述。
⑸ 算法设计描述。
⑹ 关键语句注释说明。
⑺ 调试运行过程中出现的错误及改正方法。
⑻ 输入数据样例。
⑼ 输出数据样例。
三、实验内容
建议:从简单到复杂,先实现同一个半球上的计算,正确运行之后再拓展到两个半球。
已知地球的赤道半径为6378.137千米。假设在赤道上,有两个处于不同经度(单位为度)的城市,用C语言编程序求出这两点之间的直线距离(即弦长)与球面距离 (即劣弧的长度)。
实验要求:
1. 计算结果要有尽可能高的精确度。
2. 要考虑到横跨东、西两个半球的情况。(提示:东经为正,西经为负。)
3. 要求输入数据之间以空格分隔。例如,欲求赤道上东经10度到东经50度的距离,输入格式应为:10 50
4. 最后提交完成的C语言源程序文件。
参考测试数据及结果:
东经0度,东经90度——直线距离9020.047727 ,球面距离10018.754000
东经20.5度,西经36.6度——直线距离6096.548421 ,球面距离6356.342816
东经160度,西经170度——直线距离3301.566601 ,球面距离3339.584667
展开
4个回答
展开全部
#include <stdio.h>
#include <math.h> /*引用数学函数*/
#define R 6378.137 /*定义地球半径*/
#define PI 3.14159 /*圆周率*/
main()
{ float a,b,c,d,e,h;
scanf("%f%f",&a,&b);
c=abs(a-b);
if (c>180)
c=360-c;
d=c*PI/180; /*求劣弧度数*/
e=sin(d/2)*R*2; /*求两个城市直线距离*/
h=d*R; /*求两个城市球面距离*/
printf("e=%f\n,h=%f\n",e,h);
}
#include <math.h> /*引用数学函数*/
#define R 6378.137 /*定义地球半径*/
#define PI 3.14159 /*圆周率*/
main()
{ float a,b,c,d,e,h;
scanf("%f%f",&a,&b);
c=abs(a-b);
if (c>180)
c=360-c;
d=c*PI/180; /*求劣弧度数*/
e=sin(d/2)*R*2; /*求两个城市直线距离*/
h=d*R; /*求两个城市球面距离*/
printf("e=%f\n,h=%f\n",e,h);
}
展开全部
这段代码可以达到你的目的。注释和其他有关信息自己添加。
//#include "stdafx.h"//vc++6.0加上这一行.
#include "stdio.h"
#include "math.h"
void main(void){
double x1,x2,x,r=6378.137,pai=3.1415926;
printf("Type 2 longitudes\n");
scanf("%lf%lf",&x1,&x2);
while(x1<0) x1+=360;
while(x2<0) x2+=360;
if((x=fabs(x1-x2))>180) x=360-x;
x=x/360*2*pai;
printf("The linear distance is %f(km)\n",2*r*sin(x/2));
printf("The arc length is %f(km)\n",r*x);
}
//#include "stdafx.h"//vc++6.0加上这一行.
#include "stdio.h"
#include "math.h"
void main(void){
double x1,x2,x,r=6378.137,pai=3.1415926;
printf("Type 2 longitudes\n");
scanf("%lf%lf",&x1,&x2);
while(x1<0) x1+=360;
while(x2<0) x2+=360;
if((x=fabs(x1-x2))>180) x=360-x;
x=x/360*2*pai;
printf("The linear distance is %f(km)\n",2*r*sin(x/2));
printf("The arc length is %f(km)\n",r*x);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
#include <math.h> /*引用数学函数*/
#define R 6378.137 /*定义地球半径*/
#define PI 3.1415926 /*圆周率*/
int main()
{
double m, n, angle, d, L, S;// L 两个城市直线距离,S为两个城市球面距离,angle为角度差。
scanf("%lf %lf", &m, &n);//为刚开始时输入的两个度数
angle = fabs(m-n);//fabs 是一个求(m-n)绝对值的函数
if (angle>180)
angle=360-angle;//保证c为锐角
d = angle*PI/180; /*求劣弧度数*/
L = sin(d/2)*R*2; /*求两个城市直线距离*/
S = d*R; /*求两个城市球面距离*/
printf("e=%lf\nh=%lf\n", L, S);
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
孩子,是山东理工大学商学院的吧。还是自己好好学习吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询