题目描述
设计一个程序能计算一个日期加上若干天后是什么日期。
输入
输入第一行表示样例个数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;
}