思路分析
该题是典型的“时间差值类”问题,可以将每个时间对应成一个具体的数值(此处将每个日期转换为从0到现在的总天数),再将起始和终止日期对应的总天数相减,即为两个日期相差的天数。
本题的重点在于如何处理闰年中多出的2.29这一天,我采用的是“打表”,即将闰年和非闰年的每个月的天数先存入数组当中,再根据闰年与否进行累加得到对应的天数。
闰年判断条件:1. 是4的倍数但不是100的倍数 2. 是400的倍数
代码
#include <iostream>
#include <cstdio>
#include <cmath>
#include <algorithm>
using namespace std;
const int m[13] = {
0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31,