C语言:输入年月日算当年第几天,开发中这3点处理要小心!
#include <stdio.h> int main() { int year, month, day, days = 0; int month_days[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; // 平年每月天数 printf("请输入年月日(格式:年 月 日):"); scanf("%d %d %d", &year, &month, &day); // 检查闰年,调整二月天数 if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) { month_days[1] = 29; // 闰年二月29天 } // 累加前 month-1 个月的天数 for (int i = 0; i < month - 1; i++) { days += month_days[i]; } // 加上当月的天数 days += day; printf("%d年%d月%d日是这一年的第%d天。\n", year, month, day, days); return 0; } 我在以往的开发过程中,碰到过以下几点需要格外小心处理的地方: 1. 闰年判断条件要准确,避免遗漏年份能被400整除的情况。 2. 数组索引从0开始,累加月份天数时注意循环边界。 3. 输入日期有效性未做检查,实际应用中需验证月份和天数的合理性。 ######[AI写代码神器 | 326点数解答 | 2025-12-09 13:08:43]
- HTML与JS代码纠错:轻松获取含星期的本地时间(字节豆包 | 284点数解答 | 2024-08-06 13:24:39)289
- Python实现刺激骰子游戏:1000元本金,赢到最后还是破产出局? ( | 503点数解答 | 2024-09-29 12:03:41)174
- CentOS下Java进程出现futex_wait_queue_me问题的处理全流程(阿里通义 | 283点数解答 | 2023-11-20 14:51:26)468
- 替雷利珠单抗致免疫相关性糖尿病:病例报道与机制探讨,为临床用药敲响警钟( | 164点数解答 | 2024-10-11 14:52:52)271
- C++ 实现:只含加乘无括号表达式的值求解及代码详解(字节豆包 | 730点数解答 | 2025-11-26 20:12:36)65
- C++简单实现:只含加乘算术表达式求值,代码详解!(字节豆包 | 437点数解答 | 2025-11-26 20:13:21)71
- Python 实现二叉树操作:构建、遍历、计算高度、找祖先及释放内存(字节豆包 | 848点数解答 | 2024-12-21 16:32:32)287
- C语言实现二叉树多操作:构建、遍历、求高、查祖先及内存管理(字节豆包 | 1114点数解答 | 2024-12-21 16:32:51)308
- C++实现:判断由 6 种括号组成的字符串是否为合法括号序列(字节豆包 | 339点数解答 | 2025-12-03 18:22:21)83
- C++ 实现:判断括号序列合法性的详细代码及解释(字节豆包 | 532点数解答 | 2025-12-04 18:04:18)71
- C++ 破解“没有 3 的世界”:找出第 n 个特殊正整数!(字节豆包 | 333点数解答 | 2025-03-17 22:48:43)154
- 买二送一难题破解:最少花费买全 n 本书及代码实现要点 (字节豆包 | 315点数解答 | 2025-08-14 15:09:51)215