酷代码 AI
菜单
服务商
DeepSeek字节豆包
更多选项

使用 C++ 数组计算给定日期是当年第几天

```cpp #include <iostream> using namespace std; // 函数用于判断是否为闰年 bool isLeapYear(int year) { return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0); } // 计算这是今年的第几天 int dayOfYear(int year, int month, int day) { // 平年每月的天数 int daysInMonth[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; // 如果是闰年,2 月有 29 天 if (isLeapYear(year)) { daysInMonth[1] = 29; } int totalDays = 0; // 累加前面月份的天数 for (int i = 0; i < month - 1; i++) { totalDays += daysInMonth[i]; } // 加上当前月份的天数 totalDays += day; return totalDays; } int main() { int year, month, day; // 输入年月日 cin >> year >> month >> day; // 计算并输出这是今年的第几天 cout << dayOfYear(year, month, day) << endl; return 0; } ``` ### 代码解释: 1. **`isLeapYear` 函数**:用于判断给定的年份是否为闰年。根据闰年的规则:能被 4 整除但不能被 100 整除,或者能被 400 整除的年份是闰年。 2. **`dayOfYear` 函数**: - 定义了一个 `daysInMonth` 数组,存储平年每个月的天数。 - 如果是闰年,则将 2 月的天数修改为 29 天。 - 通过 `for` 循环累加前面月份的天数,最后加上当前月份的天数,得到这是今年的第几天。 3. **`main` 函数**: - 读取用户输入的年、月、日。 - 调用 `dayOfYear` 函数计算天数并输出结果。 ######[AI问答 | 561点数解答 | 2026-07-17 20:13:35]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]