题目描述
百练
A:计算两个日期之间的天数
总时间限制:
1000ms
内存限制:
65536kB
描述
给定两个日期,计算相差的天数。比如2010-1-1和2010-1-3相差2天。
输入
共两行: 第一行包含三个整数startYear,startMonth,startDay,分别是起始年、月、日。 第二行包含三个整数endYear,endMonth,endDay,分别是结束年、月、日。 相邻两个整数之间用单个空格隔开。 年份范围在1~3000。保证日期正确且结束日期不早于起始日期。
输出
输出一个整数,即是两个日期相差的天数。
样例输入
1
22018 1 1
2019 1 1
样例输出
366
提示
闰年被定义为能被4整除的年份,但是能被100整除而不能被400整除的年是例外,它们不是闰年。闰年的2月份有29天。
codeup相同题目
日期差值
题目描述
有两个日期,求两个日期之间的天数,如果两个日期是连续的我们规定他们之间的天数为两天。
输入
有多组数据,每组数据有两行,分别表示两个日期,形式为YYYYMMDD
输出
每组数据输出一行,即日期差值
样例输入
1 | 20130101 |
样例输出
1 | 5 |
题目分析
思路:在开始的时候,我考虑了各种情况,比如前一年为闰年,后一年为平年,比如月份区间包含不包含2月。总之脑子都快炸了也没想出所有的情况,以至于一直AC不了,心态崩溃。
实际上,这个题一个简单的思路:天数相加,知道加到目的天数为止。
//notice,这里用字符串处理截取超级麻烦,不如用int求余算的比较快。
两个坑:
- codeup那个需要比较日期大小
- codeup那个还需要注意是多组数据。(如何输入多组数据)
如何方便快捷地实现,如何利用数组。
AC代码(codeup版)
1 |
|