本人编写的一个日期推算的程序

王朝other·作者佚名  2008-06-01
窄屏简体版  字體: |||超大  

#include<stdio.h>

#define judge(y) (y%4==0)&&(y%100!=0)(y%400==0)

int allday(int x);

int month1[]=;

int month2[]=;

void main()

{ int i;

int yea1,yea2,mon1,mon2,day1,day2;

int *p;

long jia_day1=0;

long jia_day2=0;

long jia_day3=0;

long jia_day4=0;

long jia_all=0;

printf("请输入第一个年月份 ");

scanf("%d %d %d",&yea1,&mon1,&day1);

printf("请输入第二个年月份 ");

scanf("%d %d %d",&yea2,&mon2,&day2);

if(judge(yea1)) printf("%d是闰年 ",yea1);

if(judge(yea2)) printf("%d是闰年 ",yea2);

if(yea1>yea2)

{ if(judge(yea2)) p=month2;

else p=month1;

jia_day1=*(p+mon2-1)-day2;

for(i=mon2;i<=11;i++)

jia_day2=jia_day2+*(p+i);

for(i=yea2+1;i<yea1;i++)

jia_day3=jia_day3+allday(i);

if(judge(yea1)) p=month2;

else p=month1;

for(i=1;i<mon1;i++)

jia_day4=jia_day4+*(p+i-1);

jia_all=jia_day1+jia_day2+jia_day3+jia_day4+day1;

printf("%d%d%d比%d%d%d迟%d天 ",yea1,mon1,day1,yea2,mon2,day2,jia_all);

}

else if(yea1<yea2)

{ if(judge(yea1)) p=month2;

else p=month1;

jia_day1=*(p+mon1-1)-day1;

for(i=mon1;i<=11;i++)

jia_day2=jia_day2+*(p+i);

for(i=yea1+1;i<yea2;i++)

jia_day3=jia_day3+allday(i);

if(judge(yea2)) p=month2;

else p=month1;

for(i=1;i<mon2;i++)

jia_day4=jia_day4+*(p+i-1);

jia_all=jia_day1+jia_day2+jia_day3+jia_day4+day2;

printf("%d%d%d比%d%d%d迟%d天 ",yea2,mon2,day2,yea1,mon1,day1,jia_all);

}

else

{ if(judge(yea1)) p=month2;

else p=month1;

if(mon1>mon2)

{ jia_day1=*(p+mon2-1)-day2;

for(i=mon2+1;i<mon1;i++)

jia_day2=jia_day2+*(p+i-1);

jia_all=jia_day1+jia_day2+day1;

printf("第一个时间比第二个时间迟%d天 ",jia_all);

}

else if(mon1<mon2)

{ jia_day1=*(p+mon1-1)-day1;

for(i=mon1+1;i<mon2;i++)

jia_day2=jia_day2+*(p+i-1);

jia_all=jia_day1+jia_day2+day2;

printf("第一个时间比第二个时间早%d天 ",jia_all);

}

else

{if(day1>day2)

printf("第一个时间比第二个时间迟%d天 ",(day1-day2));

else if(day1<day2)

printf("第一个时间比第二个时间早%d天 ",(day2-day1));

else printf("这俩个时间相等 ");

}

}

}

int allday(int x)

{ int y;

if(((x%4==0)&&(x%100!=0))((x%100==0)&&(x%400==0)))

{y=366; printf("在这俩个数据中:%d是闰年 ",x);}

else y=365;

return (y);

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航