题解 | #日期类#

日期类

https://www.nowcoder.com/practice/130aa2d7d1f5436b920229dca253893b

#include <iostream>
#include <cstdio>
#include <iomanip>

using namespace std;

int daytable[2][13]={
    {31,28,31,30,31,30,31,31,30,31,30,31},
    {31,29,31,30,31,30,31,31,30,31,30,31}
};

bool IsLeapYear(int year){      //判断是否是闰年
    return  (year%4==0 && year%100!=0) || (year%400==0);     //如果是闰年返回1,否则返回0
}

int main(){
    int n;
    int year,month,day;
    cin>>n;
    while(n--){
        cin>>year>>month>>day;
        int row=IsLeapYear(year);
        if(day<daytable[row][month-1]){
            cout<<setw(4)<<setfill('0')<<year<<'-'<<setw(2)<<setfill('0')<<month<<'-'<<setw(2)<<setfill('0')<<day+1<<endl;
        }else if(month<11){
            cout<<setw(4)<<setfill('0')<<year<<'-'<<setw(2)<<setfill('0')<<month+1<<'-'<<setw(2)<<setfill('0')<<'1'<<endl;
        }else{
            cout<<setw(4)<<setfill('0')<<year+1<<'-'<<setw(2)<<setfill('0')<<'1'<<'-'<<setw(2)<<setfill('0')<<'1'<<endl;
        }
    }
    return 0;
}

超月、月+1;超年、年+1;未超日+1;额外考虑闰年情况就行。

全部评论

相关推荐

06-15 18:44
黄淮学院 Java
Lynn012:如果是居民楼还是算了吧,看着有点野呢
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-04 18:02
好不容易拿到了字节Offer,鼠鼠做后端的,但家里人觉得可能被裁员不稳定,让鼠鼠去投国企,现在好纠结到底该咋选
文档传偷助手:该投就投吧,不过建议别放弃offer 拿到手里的才是最好的
投递字节跳动等公司8个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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