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