1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| #include <cstdio> int dayOfMonth[2][13] = { {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}, {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31} }; bool isLeapYear(int year) { return year % 400 == 0 || (year % 4 == 0 && year % 100 != 0); } void addOneDay(int &year, int &month, int &day) { day++; if (day > dayOfMonth[isLeapYear(year)][month]) { month ++; day = 1; } if (month > 12) { year++; month = 1; } } int main() { int year, month, day, n; scanf("%d-%d-%d", &year, &month, &day); scanf("%d", &n); for (int i = 0; i < n; i++) { addOneDay(year, month, day); } printf("%04d-%02d-%02d", year, month, day); return 0; }
|