题解 | 日期差值
日期差值
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")
王道机试指南 文章被收录于专栏
这个专栏是参考王道机试指南中相关的练习题哦