题解 | #日期累加#

日期累加

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

#include <iostream>
using namespace std;

int main() {
    int m = 0;
    cin >> m;
    while (m--) {
        int y = 0, m = 0, d = 0, add = 0;
        cin >> y >> m >> d >> add;
        static int array[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
    
        d += add;
        while (d > array[m]) 
        {
            d -= array[m];
            ++m;
            if (13 == m) 
            {
                ++y;
                m = 1;
                if (((y % 4 == 0) && (y % 100 != 0)) || (y % 400 == 0)) 
                {
                    array[2] = 29;
                }
                else
                {
                    array[2] = 28;
                }
            }
        }
        printf("%04d-%02d-%02d\n", y, m, d);
    }
}

全部评论

相关推荐

我是没经验的毕业生,这啥情况啊会不会是hr在刷kpi
JamesGosli...:字节boss属于是群发了,我都快入职字节了,其他部门还在和我boss打招呼
点赞 评论 收藏
分享
07-07 17:06
已编辑
深圳技术大学 golang
点赞 评论 收藏
分享
07-02 22:46
门头沟学院 Java
码农索隆:hr:“管你投没投,先挂了再说”
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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