文章
2
粉丝
0
获赞
5
访问
434
同一年和不同年的情况分开考虑
#include <iostream>
using namespace std;
bool isRun(int year)
{
if( year % 400 == 0 || (year % 4 == 0 && year % 100))
return true;
return false;
}
int days[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int main()
{
int n, m;
while(cin >> n >> m)
{
int ans = 0;
if(n > m) swap(n, m);
int sy, sm, sd, ey, em, ed;
sy = n / 10000, sm = n % 10000 / 100, sd = n % 100;
ey = m / 10000, em = m % 10000 / 100, ed = m % 100;
if(sy == ey)
{
if(isRun(ey)) days[2] = 29;
else days[2] = 28;
for(int i = sm; i < em; ++i)
ans += days[i];
ans -= sd - 1;
ans += ed;
}
else
{
if(isRun(sy))
{
ans += 366;
days[2] = 29;
}
else
{
ans += 365;
days[2] = 28;
}
for(int i = 1; i < sm; ++i)
ans -= days[i];
ans -= sd - 1;
for(int i = sy + 1; i < ey; ++i)
if(isRun(i))
ans += 366;
else
...
登录后发布评论
暂无评论,来抢沙发