题解 | #日期差值#

日期差值

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);
}

全部评论

相关推荐

驼瑞驰_招募评论官版...:这是要去亚马逊雨林守夜吗?
点赞 评论 收藏
分享
06-26 17:24
已编辑
宁波大学 golang
迷失西雅图:别给,纯kpi,别问我为什么知道
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务