文章
34
粉丝
0
获赞
6
访问
1.0k
#include<bits/stdc++.h>
using namespace std;
int month[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
bool isLeapYear(int y){
return (y % 400 == 0 || (y % 4 == 0 && y % 100 != 0));
}
int main(){
int y1,m1,d1;
int y2,m2,d2;
while(scanf("%4d%2d%2d",&y1,&m1,&d1) != EOF){
scanf("%4d%2d%2d",&y2,&m2,&d2);
int cnt = 1;
for(int y = y1; y <= y2; y++){
if(y != y2 || y == y1){
if(y1 != y2){
if(isLeapYear(y)) cnt += 366;
else cnt += 365;
}
if(y == y1){
// 开始日之年
if(isLeapYear(y)) month[2] = 29;
else month[2] = 28;
for(int m = 1; m < m1; m++){
cnt -= month[m];
}
cnt -= d1;
}
}
if(y == y2){
// 结束日之年
if(isLeapYear(y)) month[2] = 29;
else month[2] = 28;
for(int m = 1; m < m2; m++){
cnt += month[m];
}
cnt += d2;
}
}
cout << cnt << endl;
}
...
登录后发布评论
暂无评论,来抢沙发