题解 | #日期差值#
日期差值
https://www.nowcoder.com/practice/ccb7383c76fc48d2bbc27a2a6319631c
#include<stdio.h> int months[13] ={0,31,28,31,30,31,30,31,31,30,31,30,31}; bool IsRun(int year){ if(year%100!=0&&year%4==0) return true; if(year%400==0) return true; else return false; } void NextDay(int &year,int &month,int &day){ int maxday = months[month]; if(IsRun(year)&&month==2) maxday = 29; if(day == maxday){ if(month==12){ year++; month = 1;day = 1; } else {month++; day = 1;} }else { day++; } } int main(){ int year0,month0,day0; int year1,month1,day1; int count = 1; scanf("%4d%2d%2d",&year0,&month0,&day0); scanf("%4d%2d%2d",&year1,&month1,&day1); while(year0!=year1||month0!=month1||day0!=day1){ NextDay(year0,month0,day0); count ++; } printf("%d",count); }