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