文章

34

粉丝

89

获赞

2

访问

19.2k

头像
日期累加 题解:c++ 易于看懂 和 理解版本
P1446 北京理工大学机试题
发布于2024年3月30日 18:27
阅读数 691

/*日期累加*/
#include<bits/stdc++.h>
using namespace std;
bool is_Leap(int year){//判断闰年
    if(year % 400 == 0 || (year % 100 != 0 && year % 4 == 0)){
        return true;
    }
    return false;
}
int mday[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};


int main() {
    int m;
    cin >> m;
    while (m--) {

        int yy, mm, dd;
        long long days;
        cin >> yy >> mm >> dd >> days;
        if (is_Leap(yy)) {
            mday[2] = 29;
        }else{
            mday[2] = 28;
        }
        while (days--) {
            dd++;
            if (dd > mday[mm]) {
                dd = 1;
                mm++;
                if (mm > 12) {
                    mm = 1;
                    yy += 1;//年数增加后,需要判断是不是闰年
                    if (is_Leap(yy)){mday[2] = 29;}
                    else mday[2] = 28;
                }

            }
        }
        printf("%4d-%02d-%02d\n", yy, mm, dd)...
登录查看完整内容


登录后发布评论

暂无评论,来抢沙发