日出日落时间计算程序(C语言)//日出日落时间计算C语言程序#definePI#include<>#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=;//定义全局变量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;若非闰年,返回0intdays(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日到计算日天数dayslongdoublet_century(intdays,longdoubleUTo){return((longdouble)days+UTo/360)/36525;}//求格林威治时间公元2000年1月1日到计算日的世纪数tlongdoubleL_sun(longdoublet_century){return(+*t_century);}//求太阳的平黄径longdoubleG_sun(longdoublet_century){return(+*t_century);}//求太阳的平近点角longdoubleecliptic_longitude(longdoubleL_sun,longdoubleG_sun){return(L_sun+*sin(G_sun*PI/180)+*sin(2*G_sun*PI/180));}//求黄道经度longdoubleearth_tilt(longdoublet_century){return(*t_century);}//求地球倾角longdoublesun_deviation(longdoubleearth_tilt,longdoubleecliptic_longitude){return(180/PI*asin(sin(PI/180*earth_tilt)*sin(PI/180*ecliptic_longitude)));}//求太阳偏差
日出日落时间计算程序(C语言)模板 来自淘豆网m.daumloan.com转载请标明出处.