题解 | #打印日期#

打印日期

https://www.nowcoder.com/practice/b1f7a77416194fd3abd63737cdfcf82b

#include <iostream>
using namespace std;

int main() {
    int year, day_;

    while (cin >> year >> day_) { // 注意 while 处理多个 case
        int mon =1;
        int day =1;
        int mon_day[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
        bool isLeap = year%400==0 || year%4==0 && year%100!=0;
        if (isLeap) {mon_day[2] = 29;}

        for(int i=0; i<day_-1;++i){
            ++day;
            if(day>mon_day[mon]){
                day = 1;
                mon+=1;
            
            if(mon>12){
                mon=1;
                year+=1;
            }}
        }

        printf("%04d-%02d-%02d\n",year,mon,day);

    }
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

回家当保安:复旦✌🏻,佬你的简历感觉挺好的,寒假日常hc比较少。佬可以过完年之后再试试,日常实习hc比较充足
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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