當前位置:編程學習大全網 - 編程軟體 - 請懂C++的高手幫個忙~!

請懂C++的高手幫個忙~!

#include "stdio.h"

/* 年 yr,月 mn, 日(含小時分秒)dy

* 返回當天的修正儒略日(modified Julian date)mjd

* 從1582年10月15開始使用格利高裏歷(就是陽歷)

* (教皇格利高裏十三世丟掉了十天--1582年十月5到14,改進了

* 閏年算法--400年97閏).

*/

void cal_mjd(int mn,double dy,int yr,double *mjd)

{

static double last_mjd, last_dy;

static int last_mn,last_yr;

int b,d,m,y;

long c;

if(mn==last_mn&&yr==last_yr&&dy==last_dy)

{

*mjd=last_mjd;

return;

}

m=mn;

y=(yr<0)?yr+1:yr;

if(mn<3)

{

m+=12;

y-=1;

}

if(yr<1582||(yr==1582&&(mn<10||(mn==10&&dy<15)))) b=0;

else

{

int a;

a=y/100;

b=2-a+a/4;

}

if(y<0)

c=(long)((365.25*y)-0.75)-694025L;

else

c=(long)(365.25*y)-694025L;

d=(int)(30.6001*(m+1));

*mjd=b+c+d+dy-0.5;

last_mn=mn;

last_dy=dy;

last_yr=yr;

last_mjd=*mjd;

}

void main()

{

double day,first,second;

int year,month;

printf("Input first date, format yyyy-mm-dd:");

scanf("%d-%d-%lf",&year,&month,&day);

cal_mjd(month,day,year,&first);

printf("Input second date, format yyyy-mm-dd:");

scanf("%d-%d-%lf",&year,&month,&day);

cal_mjd(month,day,year,&second);

printf("there are %0.2lf day.",second-first);

}

  • 上一篇:人工智能需要學習哪些東西?
  • 下一篇:python中,dataframe或series對象可以對列進行運算麽(加減乘除)?比如某壹列全部“+1”
  • copyright 2024編程學習大全網