如题所示,这个算法就是写起来麻烦一点,不过还是很简单的,思路清晰就非常好做
思路:用两套数组分别存储每个月的天数,分别是闰年和非闰年,分别为num1[] 和 num2[];
**然后就是先计算年和年之间的差距{
相距一年:为第一年的剩下日子+第二年开始的日子
相距一年以上:为初始年的剩下日子+末尾年开始的日子+中间年份日子
相距几个月:计算几个月的日期差
}**
以上思路就是如此,代码也很简单,附上相关注释,一看就懂,不要觉得多,都是一个个的函数,一看就能明白
#include <iostream>
using namespace std;
int num1[12] = {
31,29,31,30,31,30,31,31,30,31,30,31};
int num2[12] = {
31,28,31,30,31,30,31,31,30,31,30,31};
int frontday(int year,int month,int day){ //计算这年过了多少天了
int sum=0;
if((year%