酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

n天后的日期(C++) 显示标签 时间限制:C/C++ 1000MS,其他语言 2000MS 内存限制:C/C++ 256MB,其他语言 512MB 难度:语法入门 分数:100 OI排行榜得分:10(0.1*分数+2*难度) 出题人: 描述 设计一程序,输入一个年月日(2023 7 18),输出n天后的日期。 输入描述 输入4个整数,分别是年、月、日和n天 输出描述 输出一行,为n后的日期,以yyyy-mm-dd的格式输出 样例输入 1 2023 7 19 365 样例输出 1 2024-07-18

以下是使用 C++ 实现计算 n 天后日期的代码: ```cpp #include <iostream> // 判断是否为闰年 bool isLeapYear(int year) { return (year % 4 == 0 && year % 100!= 0) || year % 400 == 0; } // 获取每个月的天数 int daysInMonth(int month, int year) { int days; switch (month) { case 2: days = isLeapYear(year)? 29 : 28; break; case 4: case 6: case 9: case 11: days = 30; break; default: days = 31; } return days; } int main() { int year, month, day, n; std::cin >> year >> month >> day >> n; while (n > 0) { int daysInCurrentMonth = daysInMonth(month, year); if (day + n <= daysInCurrentMonth) { day += n; n = 0; } else { n -= (daysInCurrentMonth - day + 1); day = 1; if (month == 12) { year++; month = 1; } else { month++; } } } std::cout << year << "-" << month << "-" << day << std::endl; // 注意点: // 1. 处理闰年时要准确判断 2 月份的天数。 // 2. 月份和日期的范围要进行有效判断和处理。 // 3. 输入的年份、月份、日期和 n 要进行有效性验证。 return 0; } ``` [2025-02-28 17:21:56 | AI写代码神器 | 436点数解答]

相关提问