《两个日期之间天数的计算C语言程序》由会员分享,可在线阅读,更多相关《两个日期之间天数的计算C语言程序(5页珍藏版)》请在人人文库网上搜索。
1、两个日期之间天数的计算 C 语言程序包含两端日期)#include int Y1,M1,D1,Y2,M2,D2;int MT1,MT2,i,RES,L=0;intLeapyear();/ 判断闰年函数intcount_days();/ 计算天数函数int count_days1();/ 第一年( Y1)小于第二年( Y2)时天数计算int count_days2();/*主函数*/main()/*判断是否为闰年函数*/intLeapyear(int x)if(x%4=0&x%100!=0|x%100=0&x%400=0)x=1;elsex=0;return x;enter_startdate(。
2、);enter_expirydate();count_days();printf(n%d.%d.%d 到%d.%d.%d共%d 天nn,Y1,M1,D1,Y2,M2,D2,RES);1/ 5/ 第一年( Y1)小于第二年( Y2)时天数计算/*输入起始日期函数*/inter_startdate()printf( 输入起始日期( 年__月__日) :);scanf(%d %d %d,&Y1,&M1,&D1);while(M112|D131)printf( 输入有误,请重新输入 :);scanf(%d %d %d,&Y1,&M1,&D1);while(M1=2|M1=4|M1=6|M1=9|M1=。
3、11)if(M1=2&D129|D130)printf( 输入有误,请重新输入 :);scanf(%d %d %d,&Y1,&M1,&D1);else break;return Y1,M1,D1;/*输入截止日期函数*/inter_expirydate()/*两个日期间天数计算函数*/intcount_days()/- 考虑两个日期间闰年天数for(i=Y1+1;i=2&Leapyear(Y1)2/ 5L-=1;if(M212|D231)printf( 输入有误,请重新输 :);scanf(%d %d %d,&Y2,&M2,&D2);while(M2=2|M2=4|M2=6|M2=9|M2=1。
4、1)if(M2=2&D229|D230)printf( 输入有误,请重新输入 :);scanf(%d %d %d,&Y2,&M2,&D2);else break;return Y2,M2,D2;/printf(L=%dn,L);if(Y12&Leapyear(Y1)/Y1 为闰年,且 M12,则该年 内的天数减一天 MT1-=1;/printf(MT1=%dn,MT1);switch(M2)case 1: MT2=D2; break;case 2: MT2=31+D2; break;case 3: MT2=59+D2; break;case 4: MT2=90+D2; break;case 5。
5、: MT2=120+D2; break;case 6: MT2=151+D2; break;case 7: MT2=181+D2; break;case 8: MT2=212+D2; break;4/ 5case 9: MT2=243+D2; break;case 10: MT2=273+D2; break;case 11: MT2=304+D2; break;case 12: MT2=334+D2; break;/default:printf( 输入有误 );if(M22&Leapyear()/Y2 为闰年,且 M22,则该年内 的天数加一MT2+=1;/printf(MT2=%dn,MT2);RES=RES+MT1+MT2+L;return RES;/*Y1=Y2 时天数计算函数*/int count_days2()if(M1=M2)RES=D2-D1+1;elseRES=(M2-M1)*30-(D1-1)+D2;return RES;5/ 5。