KY257 日期累加
⭐️难度:中等
⭐️类型:模拟
📖题目:

🌟思路:
利用NextDay函数,一天一天地加。
📚题解:
cpp
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
using namespace std;
void NextDay(int& year, int& month, int& day) {
int dayOfMonth[] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };
int isLeap; // 是否是闰年
if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)) { // 闰年二月29天
dayOfMonth[2] = 29;
}
day++;
if (day > dayOfMonth[month]) {
day = 1;
month++;
}
if (month > 12) {
month = 1;
year++;
}
}
int main() {
int n;
scanf("%d", &n);
int year, month, day, sum;
for (int i = 0;i < n;i++) {
int count = 0;
scanf("%d%d%d%d", &year, &month, &day, &sum);
while (count < sum) {
NextDay(year, month, day);
count++;
}
printf("%04d-%02d-%02d\n", year, month, day);
}
return 0;
}