题解 | #日期累加#
日期累加
https://www.nowcoder.com/practice/eebb2983b7bf40408a1360efb33f9e5d
#include <iostream>
using namespace std;
int main() {
int m = 0;
cin >> m;
while (m--) {
int y = 0, m = 0, d = 0, add = 0;
cin >> y >> m >> d >> add;
static int array[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
d += add;
while (d > array[m])
{
d -= array[m];
++m;
if (13 == m)
{
++y;
m = 1;
if (((y % 4 == 0) && (y % 100 != 0)) || (y % 400 == 0))
{
array[2] = 29;
}
else
{
array[2] = 28;
}
}
}
printf("%04d-%02d-%02d\n", y, m, d);
}
}

查看11道真题和解析