文章
119
粉丝
68
获赞
86
访问
19.4k
#include <bits/stdc++.h>
using namespace std;
int date[2][13]={
{0,31,28,31,30,31,30,31,31,30,31,30,31},
{0,31,29,31,30,31,30,31,31,30,31,30,31}
};
bool isLeapYear(int year){
return (year%400==0)||(year%4==0&&year%100!=0);
}
int main() {
int year,month,day;
while(scanf("%4d%2d%2d",&year,&month,&day)!=EOF){
int k=isLeapYear(year)?1:0;
for(int i=0;i<month;i++){
day+=date[k][i];
}
int l=isLeapYear(2019)?1:0;
int day2=5;
for(int i=0;i<2;i++){
day2+=date[l][i];
}
int count=0;
if(year>=2019){
for(int i=2019;i<year;i++){
count+=isLeapYear(i)?366:365;
}
cout<<count+day-day2<<endl;
}else{
for(int i=year;i<2019;i++){
count+=isLeapYear(i)?366:365;
}
cout<<count+day2-day<<endl;
}
}
}
时间长度的函数是很好写的,主要是它存在两个方向,大于2...
登录后发布评论
暂无评论,来抢沙发