C++实现:精准计算某年某月某日是该年第几天,含日期合法性与闰年判断
以下是用 C++实现计算某年某月某日是该年中第几天的代码: ```cpp #include <iostream> using namespace std; // 判断是否为闰年 bool isLeapYear(int year) { // 能被 4 整除但不能被 100 整除,或者能被 400 整除的年份是闰年 if ((year % 4 == 0 && year % 100!= 0) || year % 400 == 0) { return true; } return false; } // 获取每个月的天数 int getMonthDays(int month, int year) { int days; switch (month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: days = 31; break; case 4: case 6: case 9: case 11: days = 30; break; case 2: if (isLeapYear(year)) { days = 29; } else { days = 28; } break; default: cout << "月份输入有误" << endl; return -1; } return days; } // 计算某年某月某日是该年中的第几天 int getDayOfYear(int year, int month, int day) { if (year < 0 || month < 1 || month > 12 || day < 1 || day > getMonthDays(month, year)) { cout << "日期有误" << endl; return -1; } int totalDays = 0; for (int i = 1; i < month; i++) { totalDays += getMonthDays(i, year); } totalDays += day; return totalDays; } int main() { int year, month, day; cin >> year >> month >> day; int result = getDayOfYear(year, month, day); if (result!= -1) { cout << "这是" << year << "年的第" << result << "天" << endl; } return 0; } ``` 额外需要注意的逻辑点: 1. 对于输入的年份、月份和日期,要做好异常情况的处理,比如负数或者超出合理范围的值。 2. 在判断闰年和计算每个月的天数时,要确保逻辑的准确性。 3. 对于输出的结果,要考虑格式的规范和清晰,便于用户理解。 ######[AI写代码神器 | 618点数解答 | 2024-12-17 23:42:51]
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)368
- 数字化制图综合平台:助力企业转型,推动烟草物流图纸智能化设计 (字节豆包 | 490点数解答 | 2024-10-30 20:30:29)156
- 数字化制图综合平台:引领烟草物流及多领域设计革新 在企业数字化转型的时代浪潮中,数字化制图技术创新应用成为产业升级与提升竞争力的关键。企业对高效、精准、智能化设计解决方案需求迫切,构建集二维到三维正逆向工程快捷化、干涉检测可视化、设备明细数据提取自动化以及设备模块模型库于一体的综合平台意义重大。 此平台集成先进数字化制图工具与智能算法,可实现二维设计到三维建模的无缝转换,大大缩短设计周期。正逆向工程能快速切换,满足不同场景设计需求。内置干涉检测功能可实时监测设计潜在冲突,保障设计方案可行与安全。设备明细数据自动提取提高设计准确性与效率。设备模块模型库为设计师提供丰富资源,支持设计标准化与模块化,加速项目推进。 整体来看,该综合平台的应用极大促进了烟草物流行业及更广泛领域的技术创新与效率提升。在烟草物流方案图纸智能化设计中,它提升了图纸设计效率与质量,使设计工作更加高效、精准。对于企业而言,这一平台带来显著竞争优势,能帮助企业在数字化转型中脱颖而出,在激烈的市场竞争中占据有利地位,推动整个行业向更高效、更智能的方向发展。 (阿里通义 | 216点数解答 | 2024-10-30 20:30:51)186
- 去掉代码备注:计算 f(a) + f(b) + f(c) 的简洁代码实现(字节豆包 | 150点数解答 | 2026-03-14 20:04:24)16
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)337
- C++ 代码实现自定义运算 x@y = x² + y² - xy 及 x@(x+y) 计算(DeepSeek | 215点数解答 | 2025-12-13 15:08:14)90
- C++ 实现根据输入正整数奇偶性计算偶数和或约数和(字节豆包 | 838点数解答 | 2026-02-28 20:23:59)48
- Excel 日期格式显示####?这些解决办法快收好!( | 327点数解答 | 2023-12-29 09:53:45)289
- Java实现日程管理系统:添加、修改、查询与提醒一应俱全,数据本地txt保存!(GPT | 5818点数解答 | 2024-06-03 20:02:47)353
- 用Python处理商品销售数据:替换类别、合并类目并输出前5行(百度文心 | 486点数解答 | 2024-08-23 09:14:21)323
- 双11前小明巧用数据:计算机械键盘与游戏鼠标最近购买均价!(字节豆包 | 32点数解答 | 2024-10-17 20:43:03)222
- 云南 8 日摄影行程表 HTML 代码优化与逻辑注意点揭秘(字节豆包 | 217点数解答 | 2025-03-09 13:19:03)274