题解 | #打印日期#

打印日期

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

#include <cstdio>

int main(){
    int year,n;
    int monday[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};

    while (scanf("%d%d",&year,&n) != EOF){
        int mon = 1;
        int day = 1;
        for (int i = 0; i < n - 1; ++i) {
            bool isyear = year % 400 == 0 || year % 100 != 0  &&  year % 4 == 0;
            if (isyear){
                monday[2] = 29;
            } else{
                monday[2] = 28;
            }
            ++day;
            if (day > monday[mon]){
                ++mon;
                day = 1;
                if (mon > 12){
                    mon = 1;
                    ++year;
                }
            }
        }
        printf("%04d-%02d-%02d\n",year,mon,day);
    }
}

全部评论

相关推荐

投了十几个无人回应
花环鞣: 佬,我隔壁的
点赞 评论 收藏
分享
此在夜:我之前也是这样,然后四五天之后进入HR面状态,发了测评,做完三十天后约了HR面
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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