题目描述
给定一个合法的日期,求 x天后的日期。
输入
第一行输入一个整数 x,表示天数。 第二行输入三个整数 y,m,d,分别表示当前日期的年月日。(1≤x≤500,日期一定合法)
输出
输出为一行,共三个整数,分别表示 x天后日期的年月日。
#include <stdio.h>
int main(){
int x;
scanf("%d", &x);
int y,m,d;
scanf("%d %d %d", &y, &m, &d);
for (int i = 0; i < x; i++) {
if (m == 2) {
if ((y % 4 == 0 && y % 100 != 0) || y % 400 == 0) {
if (d == 29) {
m++;
d = 1;
}
else {
d++;
}
}
else {
if (d == 28) {
m++;
d = 1;
}
else {
d++;
}
}
}
else if (m == 4 || m == 6 || m == 9 || m == 11) {
if (d == 30) {
m++;
d = 1;
}
else {
d++;
}
}
else if (m == 12) {
if (d == 31) {
y++;
m = 1;
d = 1;
}
else {
d++;
}
}
else {
if (d == 31) {
m++;
d = 1;
}
else {
d++;
}
}
}
printf("%d %d %d", y, m, d);
return 0;
}