题解 | 日期差值
日期差值
https://www.nowcoder.com/practice/ccb7383c76fc48d2bbc27a2a6319631c
#include <iostream>
#include <stdio.h>
using namespace std;
void NextDay(int &curyear,int &curmonth,int &curday){
int dayOfmonth[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
bool isLeap;
isLeap=curyear%400==0||curyear%100!=0&&curyear%4==0;
if(isLeap){
dayOfmonth[2]=29;
}
++curday;
if(curday>dayOfmonth[curmonth]){
curday=1;
curmonth++;
}
if(curmonth>12){
curmonth=1;
curyear++;
}
}
int main() {
int curyear,curmonth,curday;
int nowyear,nowmonth,nowday;
scanf("%4d%02d%02d",&curyear,&curmonth,&curday);
scanf("%4d%02d%02d",&nowyear,&nowmonth,&nowday);
int next=1;
while(1){
NextDay(curyear,curmonth,curday);
next++;
if(curyear==nowyear&&curmonth==nowmonth&&curday==nowday){
break;
}
}
printf("%d\n",next);
return 0;
}
// 64 位输出请用 printf("%lld")
王道机试指南 文章被收录于专栏
这个专栏是参考王道机试指南中相关的练习题哦
查看21道真题和解析