C/C++[codeup 2063]日期累加

题目描述
设计一个程序能计算一个日期加上若干天后是什么日期。

输入
输入第一行表示样例个数m,接下来m行每行四个整数分别表示年月日和累加的天数。

输出
输出m行,每行按yyyy-mm-dd的个数输出。

样例输入
1
2008 2 3 100
样例输出
2008-05-13

#include <iostream>
using namespace std;
bool Isleap(int year) {
    return (year % 4 == 0 && year % 100 != 0 || (year %400 == 0));
}

int main() {
    int month[13][2] = {{0,0}, {31,31}, {28,29}, {31,31}, {30,30}, {31,31},
                        {30,30}, {31,31}, {31,31}, {30,30}, {31,31}, {30,30},
                        {31,31}
    };
    int M, y, m , d, days;
    cin>>M;
    while(M--) {
        cin >>y >>m >>d >>days;
        bool k = Isleap(y);
        while (days--) {
            d++;
            if (d == month[m][k]+1) {
                m++;
                d = 1;
            }
            if (m == 13) {
                y++;
                k = Isleap(y);   //判断新年是否为闰年
                m = 1;
            }
        }
        printf("%.4d-%.2d-%.2d\n",y, m , d);
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/u014281392/article/details/80681070
今日推荐