描述:
编写一个日期类,要求按xxxx-xx-xx 的格式输出日期,实现加一天的操作。
输入描述:
输入第一行表示测试用例的个数m,接下来m行每行有3个用空格隔开的整数,分别表示年月日。测试数据不会有闰年。
输出描述:
输出m行。按xxxx-xx-xx的格式输出,表示输入日期的后一天的日期。
示例1
输入:
2
1999 10 20
2001 1 31
输出:
1999-10-21
2001-02-01
备注:
注意个位数日期前面要有0。
知识点: 暴力求解 模拟 日期问题
AC代码:
#include <stdio.h>
int main() {
int n;
int y, m, d;
int monDay[13] = {0 , 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
scanf("%d", &n);
for(int i = 0; i < n; i++) {
scanf("%d %d %d", &y, &m, &d);
if(y % 400 == 0 || y % 100 != 0 && y % 4 == 0)
monDay[2] = 29;
else
monDay[2] = 28;
d ++;
if(d > monDay[m]) {
m ++;
d = 1;
if(m > 12) {
y ++;
m = 1;
}
}
printf("%d-%02d-%02d\n", y, m, d);
}
return 0;
}