题解 | #日期累加#
日期累加
https://www.nowcoder.com/practice/eebb2983b7bf40408a1360efb33f9e5d
#include <iostream>
using namespace std;
int month_day(int month,int year){
int months[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31};
if(month == 2 && (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)) return 29;
return months[month];
}
int main() {
int n;
cin >> n;
while (n--) { // 注意 while 处理多个 case
int year = 0, month = 0, day = 0,days = 0;
cin >> year >> month >> day >> days;
while(days--){
day++;
if(day > month_day(month,year)){
++month;
if(month > 12){
++year;
month = 1;
}
day = 1;
}
}
printf("%04d-%02d-%02d\n",year,month,day);
}
}
// 64 位输出请用 printf("%lld")
360集团公司福利 395人发布