25:计算两个日期之间的天数

预计阅读时间:5分钟

之前好久不更了,今天想了想,还是接着更吧,反正闲着也是闲着。

原题

描述

给定两个日期,计算相差的天数。比如2010-1-1和2010-1-3相差2天。
 

输入

共两行:
第一行包含三个整数startYear,startMonth,startDay,分别是起始年、月、日。
第二行包含三个整数endYear,endMonth,endDay,分别是结束年、月、日。
相邻两个整数之间用单个空格隔开。

年份范围在1~3000。保证日期正确且结束日期不早于起始日期。

输出

输出一个整数,即是两个日期相差的天数。

样例输入

2008 1 1
2009 1 1

样例输出

366

提示

闰年被定义为能被4整除的年份,但是能被100整除而不能被400整除的年是例外,它们不是闰年。闰年的2月份有29天。

思路

大模拟

代码

注:用户Mr********f评论说让我在代码中多加注释,我就加了一些。

#include using namespace std;int m[13]={0,31,31+28,31+28+31,31+28+31+30,31+28+31+30+31,31+28+31+30+31+30,31+28+31+30+31+30+31,31+28+31+30+31+30+31+31,31+28+31+30+31+30+31+31+30,31+28+31+30+31+30+31+31+30+31,31+28+31+30+31+30+31+31+30+31+30,31+28+31+30+31+30+31+31+30+31+30+31};
//m代表每个月之前的所有天数总和
int main(){int y1,m1,d1,y2,m2,d2;cin>>y1>>m1>>d1;cin>>y2>>m2>>d2;long long days1=y1*365+m[m1-1]+d1;//第一个日子for(int i=1; i2){days1++;}}if(y2%4==0&&y2%100!=0||y2%400==0)//在外面的第二次判断{if(m2>2){days2++;}}cout<

​​​​​​​

希望本博客对大家有所帮助。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部