#include <iostream>
#include <algorithm>
#include <cmath>
using namespace std;
int Month[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
int year1 , year2 , month1 , month2 , day1 , day2;
bool leap_year(int y)//判斷是否為閏年
{
if (y%4000 == 0) return false;
else if (y%400 == 0)return true;
else if (y%100 == 0)return false;
else if (y%4 == 0) return true;
else return false;
}
int totalDay(int y , int m , int d)//計算日子的總數
{
int sum=0;
for (int i=1 ; i<y ; i++)//計算過了多少年,總共有多少日子
{
if (leap_year(i)==true)sum+=366;
else sum+=365;
}
for (int i=1 ; i<m ; i++)//計算這年過了幾個月,總共多少日子
{
sum+=Month[i];
if (i==2 && leap_year(y)==true)sum+=1;
}
sum+=d;//加上目前的日子
return sum;
}
int main()
{
while (cin >> year1 >> month1 >> day1 >> year2 >> month2 >> day2)
{
cout << abs(totalDay(year1,month1,day1) - totalDay(year2,month2,day2)) << endl;
}
return 0;
}
有什麼更好的意見可以提出來參考
此程式碼完全是邊想邊寫
沒有優化過>_<