题解 | 日期差值

日期差值

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")

王道机试指南 文章被收录于专栏

这个专栏是参考王道机试指南中相关的练习题哦

全部评论

相关推荐

03-11 21:46
西北大学 Java
河和静子:这只是实习工资,我学长北大通班博一的,他同学被这家天天发邮件让他去实习,一个月10w
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务