当前位置:首页 » 编程语言 » 地球c语言代码
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

地球c语言代码

发布时间: 2022-12-26 18:42:51

Ⅰ 已知地球半径,用c语言编写程序求同一纬度不同经度的两地的距离

#include<stdio.h>
#include<math.h>
int main(void)
{
float r, w, j, pi;//r表示半径,w表示纬度,j表示经度差,纬度和经度的单位都是度,pi表示圆周率
pi=2.0*asin(1.0);
printf("请输入地球半径:r= ");
scanf("%f",&r);
printf("请输入纬度 w= ");
scanf("%f",&w);
printf("请输入两个地点的经度差 j= ");
scanf("%f",&j);
printf("这两个地方的距离里为: %lf\n",r*sin( (90.0-w)/180.0*pi )*( j/180.0*pi ) );
}

Ⅱ 求C语言程序代码

// Microsoft Visual C++ 2010学习版


#include <stdio.h>


double add_thickness(double *thickness_ptr, int *times_ptr)

{

*thickness_ptr *= 2;


if (*times_ptr == 1)

{

return *thickness_ptr;

}

(*times_ptr)--;


return add_thickness(thickness_ptr, times_ptr);

}


int main()

{

double thickness = 0.006; // 0.006cm

int times = 43;


printf("设定纸张厚度:%f cm ", thickness);

printf("算出地月距离:%f cm ", add_thickness(&thickness,&times));

printf("算出地月距离:%f km ", thickness / 1000 / 100);


// 地月距离

double distance = (double)386000 * 1000 * 100; // cm

// 操作43次

for (int i = 1; i <= 43; i++)

{

distance /= 2;

}

printf("纸张厚度应为:%f cm ", distance);


// 检验add_thickness()正确性

times = 43;

printf("按上述厚度,地月距离:%f km ", add_thickness(&distance,&times) / 1000 / 100);


return 0;

}

---

若纸厚度0.006cm,按题操作43次,纸高度远大于地月距离386000公里!

若纸厚度0.004388cm,按题操作43次,纸高度等于地月距离386000公里。

程序执行结果:

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

#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;
}

Ⅳ 月球围绕地球,地球围绕太阳的C语言代码

A、当地球绕太阳公转从B到C,太阳直射点由赤道向南回归线移动,淮安的白昼越来越短,故不符合题意;B、当地球绕太阳公转从B到C,太阳直射点由赤道向南回归线移动,淮安的西北季风越来强盛,故不符合题意;C、当地球绕太阳公转从B到C,太阳直射点由赤道向南回归线移动,时间从9月23日到12月22日,梅雨时间一般在6月下旬到7月上旬,故不符合题意;D、当地球绕太阳公转从B到C,太阳直射点由赤道向南回归线移动,淮安的黑夜越来越长,故正确.故选:D.

Ⅳ 已知地球的平均半径为6371.393千米,假设在地球的某一纬度上,有两个处于不同经度的点A、B,用C语言编程

float 数 只能输出小数点后六位..用 double, %lf定义数和输出数

Ⅵ 地球与月球之间的距离大约是238857英里写C语言程序在屏幕上显示出地球与月球之间的大约是多少公里

#include<stdio.h>
main()
{
doublea=238857;
printf("%lf",a*1.609);
}

如图所示,望采纳。。。。。。

Ⅶ 已知地球任意两点,求两点间的直线距离和球面距离用c语言

这段代码可以达到你的目的。注释和其他有关信息自己添加。
//#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);
}

Ⅷ 利用日期、经纬度求日出日落时间 C语言程序代码

#definePI3.1415926

#include<math.h>

#include<iostream>

usingnamespacestd;


intdays_of_month_1[]={31,28,31,30,31,30,31,31,30,31,30,31};

intdays_of_month_2[]={31,29,31,30,31,30,31,31,30,31,30,31};

longdoubleh=-0.833;

//定义全局变量


voidinput_date(intc[]){

inti;

cout<<"Enterthedate(form:20090310):"<<endl;

for(i=0;i<3;i++){

cin>>c[i];

}

}

//输入日期


voidinput_glat(intc[]){

inti;

cout<<"Enterthedegreeoflatitude(range:0°-60°,form:404040(means40°40′40″)):"<<endl;

for(i=0;i<3;i++){

cin>>c[i];

}

}

//输入纬度


voidinput_glong(intc[]){

inti;

cout<<"Enterthedegreeoflongitude(westisnegativ,form:404040(means40°40′40″)):"<<endl;

for(i=0;i<3;i++){

cin>>c[i];

}

}

//输入经度


intleap_year(intyear){

if(((year%400==0)||(year%100!=0)&&(year%4==0)))return1;

elsereturn0;

}

//判断是否为闰年:若为闰年,返回1;若非闰年,返回0


intdays(intyear,intmonth,intdate){

inti,a=0;

for(i=2000;i<year;i++){

if(leap_year(i))a=a+366;

elsea=a+365;

}

if(leap_year(year)){

for(i=0;i<month-1;i++){

a=a+days_of_month_2[i];

}

}

else{

for(i=0;i<month-1;i++){

a=a+days_of_month_1[i];

}

}

a=a+date;

returna;

}

//求从格林威治时间公元2000年1月1日到计算日天数days


longdoublet_century(intdays,longdoubleUTo){

return((longdouble)days+UTo/360)/36525;

}

//求格林威治时间公元2000年1月1日到计算日的世纪数t


longdoubleL_sun(longdoublet_century){

return(280.460+36000.770*t_century);

}

//求太阳的平黄径


longdoubleG_sun(longdoublet_century){

return(357.528+35999.050*t_century);

}

//求太阳的平近点角


longdoubleecliptic_longitude(longdoubleL_sun,longdoubleG_sun){

return(L_sun+1.915*sin(G_sun*PI/180)+0.02*sin(2*G_sun*PI/180));

}

//求黄道经度


longdoubleearth_tilt(longdoublet_century){

return(23.4393-0.0130*t_century);

}

//求地球倾角


longdoublesun_deviation(longdoubleearth_tilt,longdoubleecliptic_longitude){

return(180/PI*asin(sin(PI/180*earth_tilt)*sin(PI/180*ecliptic_longitude)));

}

//求太阳偏差


longdoubleGHA(longdoubleUTo,longdoubleG_sun,longdoubleecliptic_longitude){

return(UTo-180-1.915*sin(G_sun*PI/180)-0.02*sin(2*G_sun*PI/180)+2.466*sin(2*ecliptic_longitude*PI/180)-0.053*sin(4*ecliptic_longitude*PI/180));

}

//求格林威治时间的太阳时间角GHA


longdoublee(longdoubleh,longdoubleglat,longdoublesun_deviation){

return180/PI*acos((sin(h*PI/180)-sin(glat*PI/180)*sin(sun_deviation*PI/180))/(cos(glat*PI/180)*cos(sun_deviation*PI/180)));

}

//求修正值e


longdoubleUT_rise(longdoubleUTo,longdoubleGHA,longdoubleglong,longdoublee){

return(UTo-(GHA+glong+e));

}

//求日出时间


longdoubleUT_set(longdoubleUTo,longdoubleGHA,longdoubleglong,longdoublee){

return(UTo-(GHA+glong-e));

}

//求日落时间


longdoubleresult_rise(longdoubleUT,longdoubleUTo,longdoubleglong,longdoubleglat,intyear,intmonth,intdate){

longdoubled;

if(UT>=UTo)d=UT-UTo;

elsed=UTo-UT;

if(d>=0.1){

UTo=UT;

UT=UT_rise(UTo,GHA(UTo,G_sun(t_century(days(year,month,date),UTo)),ecliptic_longitude(L_sun(t_century(days(year,month,date),UTo)),G_sun(t_century(days(year,month,date),UTo)))),glong,e(h,glat,sun_deviation(earth_tilt(t_century(days(year,month,date),UTo)),ecliptic_longitude(L_sun(t_century(days(year,month,date),UTo)),G_sun(t_century(days(year,month,date),UTo))))));

result_rise(UT,UTo,glong,glat,year,month,date);

}

returnUT;

}

//判断并返回结果(日出)


longdoubleresult_set(longdoubleUT,longdoubleUTo,longdoubleglong,longdoubleglat,intyear,intmonth,intdate){

longdoubled;

if(UT>=UTo)d=UT-UTo;

elsed=UTo-UT;

if(d>=0.1){

UTo=UT;

UT=UT_set(UTo,GHA(UTo,G_sun(t_century(days(year,month,date),UTo)),ecliptic_longitude(L_sun(t_century(days(year,month,date),UTo)),G_sun(t_century(days(year,month,date),UTo)))),glong,e(h,glat,sun_deviation(earth_tilt(t_century(days(year,month,date),UTo)),ecliptic_longitude(L_sun(t_century(days(year,month,date),UTo)),G_sun(t_century(days(year,month,date),UTo))))));

result_set(UT,UTo,glong,glat,year,month,date);

}

returnUT;

}

//判断并返回结果(日落)


intZone(longdoubleglong){

if(glong>=0)return(int)((int)(glong/15.0)+1);

elsereturn(int)((int)(glong/15.0)-1);

}

//求时区


voidoutput(longdoublerise,longdoubleset,longdoubleglong){

if((int)(60*(rise/15+Zone(glong)-(int)(rise/15+Zone(glong))))<10)

cout<<"Thetimeatwhichthesunrisesis"<<(int)(rise/15+Zone(glong))<<":0"<<(int)(60*(rise/15+Zone(glong)-(int)(rise/15+Zone(glong))))<<". ";

elsecout<<"Thetimeatwhichthesunrisesis"<<(int)(rise/15+Zone(glong))<<":"<<(int)(60*(rise/15+Zone(glong)-(int)(rise/15+Zone(glong))))<<". ";

if((int)(60*(set/15+Zone(glong)-(int)(set/15+Zone(glong))))<10)

cout<<"Thetimeatwhichthesunsetsis"<<(int)(set/15+Zone(glong))<<":"<<(int)(60*(set/15+Zone(glong)-(int)(set/15+Zone(glong))))<<". ";

elsecout<<"Thetimeatwhichthesunsetsis"<<(int)(set/15+Zone(glong))<<":"<<(int)(60*(set/15+Zone(glong)-(int)(set/15+Zone(glong))))<<". ";

}

//打印结果intmain(){

longdoubleUTo=180.0;

intyear,month,date;

longdoubleglat,glong;

intc[3];

input_date(c);

year=c[0];

month=c[1];

date=c[2];

input_glat(c);

glat=c[0]+c[1]/60+c[2]/3600;

input_glong(c);

glong=c[0]+c[1]/60+c[2]/3600;

longdoublerise,set;

rise=result_rise(UT_rise(UTo,GHA(UTo,G_sun(t_century(days(year,month,date),UTo)),ecliptic_longitude(L_sun(t_century(days(year,month,date),UTo)),G_sun(t_century(days(year,month,date),UTo)))),glong,e(h,glat,sun_deviation(earth_tilt(t_century(days(year,month,date),UTo)),ecliptic_longitude(L_sun(t_century(days(year,month,date),UTo)),G_sun(t_century(days(year,month,date),UTo)))))),UTo,glong,glat,year,month,date);

set=result_set(UT_set(UTo,GHA(UTo,G_sun(t_century(days(year,month,date),UTo)),ecliptic_longitude(L_sun(t_century(days(year,month,date),UTo)),G_sun(t_century(days(year,month,date),UTo)))),glong,e(h,glat,sun_deviation(earth_tilt(t_century(days(year,month,date),UTo)),ecliptic_longitude(L_sun(t_century(days(year,month,date),UTo)),G_sun(t_century(days(year,month,date),UTo)))))),UTo,glong,glat,year,month,date);

output(rise,set,glong);

system("pause");

return0;

}