题解 | #日期累加#

日期累加

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

#include <iostream>
using namespace std;
int daytab[2][13] = {
    {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},
    {0, 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;
}
int main() {
    int m;
    cin >> m;
    while (m--) {
        int year, month, day, n;
        cin >> year >> month >> day >> n;
        int row = isLeapYear(year);
        while (n) {
            if (day + n <= daytab[row][month]) {
                day += n;
                break;
            } else {
                n -= daytab[row][month] - day;
                day = 0;
                if (month != 12)month++;
                else {
                    year++;
                    month = 1;
                    row = isLeapYear(year);
                }
            }
        }
        printf("%04d-%02d-%02d\n", year, month, day);
    }
}
// 64 位输出请用 printf("%lld")

全部评论

相关推荐

05-29 20:34
门头沟学院 C++
KarlAllen:得做好直接春招的准备。学历差的话,一是面试要求会比学历好的严格不少,二是就算面试通过了也会被排序。总之暑期和秋招对于学历差的就是及其不友好
无实习如何秋招上岸
点赞 评论 收藏
分享
Lorn的意义:你这种岗位在中国现在要么牛马天天加班,要么关系户进去好吃好喝,8年时间,真的天翻地覆了,对于资本来说你就说一头体力更好的牛马,哎,退伍没有包分配你真的亏了。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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