问题 D: 日期类
时间限制: 1 Sec 内存限制: 32 MB
提交: 205 解决: 162
[提交][状态][讨论版][命题人:外部导入]
题目描述
编写一个日期类,要求按xxxx-xx-xx 的格式输出日期,实现加一天的操作。
输入
输入第一行表示测试用例的个数m,接下来m行每行有3个用空格隔开的整数,分别表示年月日。测试数据不会有闰年。
输出
输出m行。按xxxx-xx-xx的格式输出,表示输入日期的后一天的日期。
样例输入
2 1999 10 20 2001 1 31
样例输出
1999-10-21 2001-02-01
提示
注意个位数日期前面要有0。
#include<iostream>
#include<cstdio>
using namespace std;
int main() {
int n, month[13] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };
cin >> n;
while (n--) {
int year, mon, day;
cin >> year >> mon >> day;
if (day == month[mon]) {
day = 1;
if (mon == 12) {
year++;
mon = 1;
}
else mon++;
}
else day++;
printf("%04d-%02d-%02d\n", year, mon, day);
}
return 0;
}