大地坐标与空间直角坐标转换的C程序
#include
#include
double HD(double a,double b,double c)
{b=b+c/60;
a=a+b/60;
a=a/180*3.1415926535897932384626433832795;
return a;}
void JD(double d,int *d1,int *d2,double *d3)
{d=d/3.1415926535897932384626433832795*180;
*d1=(int)d;
*d2=(int)((d-*d1)*60);
*d3=((d-*d1)*60-*d2)*60;}
void lbhxyz(double a1,double e)
{double l,b,h,x,y,z,a,b1,c,n,w;
printf("请输入L:\n");
scanf("%lf%lf%lf",&a,&b1,&c);
l=HD(a,b1,c);
printf("请输入B:\n");
scanf("%lf%lf%lf",&a,&b1,&c);
b=HD(a,b1,c);
printf("请输入H:\n");
scanf("%lf",&h);
w=sqrt((1-e*e*sin(b)*sin(b)));
n=a1/w;
x=(n+h)*cos(b)*cos(l);
y=