题解 | #打印日期#

打印日期

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

#include<cstdio>

int main() {
    int y, m, d, n;
    int flag;
    int sum;
    int days[2][12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31,
                       31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31
                      };
    while (scanf("%d%d", &y, &n) != EOF) {
        if ((y % 4 == 0 && y % 100 != 0) || y % 400 == 0)flag = 1;
        else flag = 0;
        sum = 0;
        m = 0;
        while (sum + days[flag][m] < n) {
            sum += days[flag][m];
            m++;
        }
        m++;
        d = n - sum;
        printf("%04d-%02d-%02d\n", y, m, d);
    }
    return 0;
}

全部评论

相关推荐

牛至超人:把哈工大,再加大加粗,看见闪闪发光的哈工大字样,面试官直接流口水
投递字节跳动等公司7个岗位
点赞 评论 收藏
分享
牛客41406533...:回答他在课上学,一辈子待在学校的老教授用三十年前的祖传PPT一字一句的讲解,使用谭浩强红皮书作为教材在devc++里面敲出a+++++a的瞬间爆出114514个编译错误来学这样才显得专业
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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