用C语言实现:从键盘输入日期算出该年第几天
要编写一个C语言程序来计算输入日期是一年中的第几天,可以按照以下步骤进行: 1. 读取输入的年、月、日。 2. 判断该年是否为闰年。 3. 计算从年初到输入日期的总天数。 以下是实现该功能的C语言程序: ```c #include <stdio.h> // 判断是否为闰年 int isLeapYear(int year) { return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0); } // 计算某年某月某日是一年中的第几天 int dayOfYear(int year, int month, int day) { // 每个月的天数(非闰年) int daysInMonth[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; // 如果是闰年,2月的天数为29 if (isLeapYear(year)) { daysInMonth[1] = 29; } int dayOfYear = 0; for (int i = 0; i < month - 1; i++) { dayOfYear += daysInMonth[i]; } dayOfYear += day; return dayOfYear; } int main() { int year, month, day; char input[9]; // 输入格式为YYYYMMDD printf("请输入日期(格式:YYYYMMDD):"); scanf("%s", input); // 解析输入的日期 sscanf(input, "%4d%2d%2d", &year, &month, &day); // 计算并输出结果 int result = dayOfYear(year, month, day); printf("这是%d年的第%d天\n", year, result); return 0; } ``` 代码说明: 1. isLeapYear函数:判断给定年份是否为闰年。闰年的条件是: - 能被4整除但不能被100整除,或者 - 能被400整除。 2. dayOfYear函数:计算给定日期是一年中的第几天。首先定义一个数组`daysInMonth`来存储每个月的天数(非闰年)。如果该年是闰年,则将2月的天数设为29。然后通过累加前几个月的天数再加上当前月份的天数,得到结果。 3. main函数: - 读取用户输入的日期字符串。 - 使用`sscanf`函数解析输入字符串,提取年、月、日。 - 调用`dayOfYear`函数计算结果。 - 输出结果。 输入输出示例: - 输入:`20110305` - 输出:`这是2011年的第64天` 这个程序能够正确处理闰年和非闰年的情况,并计算出输入日期是一年中的第几天。 ######[AI写代码神器 | 690点数解答 | 2024-11-18 14:23:17]
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)384
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)354
- Excel 日期格式显示####?这些解决办法快收好!( | 327点数解答 | 2023-12-29 09:53:45)293
- Java实现日程管理系统:添加、修改、查询与提醒一应俱全,数据本地txt保存!(GPT | 5818点数解答 | 2024-06-03 20:02:47)356
- 用Python处理商品销售数据:替换类别、合并类目并输出前5行(百度文心 | 486点数解答 | 2024-08-23 09:14:21)329
- 双11前小明巧用数据:计算机械键盘与游戏鼠标最近购买均价!(字节豆包 | 32点数解答 | 2024-10-17 20:43:03)227
- 云南 8 日摄影行程表 HTML 代码优化与逻辑注意点揭秘(字节豆包 | 217点数解答 | 2025-03-09 13:19:03)281
- 新员工7月业绩冲刺计划书:15天填补28000元缺口,附Word转换指南!(DeepSeek | 233点数解答 | 2025-07-16 18:48:05)124
- 新员工业绩达标计划书:完善方案待店长审批,多维度优化冲刺7月目标!(字节豆包 | 500点数解答 | 2025-07-16 18:50:16)114
- 2025版PHP项目资料管理系统需求文档:全方位打造高效协作与安全存储平台 (字节豆包 | 1332点数解答 | 2025-07-18 10:36:24)168
- iOS开发:手把手教你完整实现代理模式,含声明与实现步骤!(阿里通义 | 268点数解答 | 2023-11-08 00:39:55)278
- JavaScript 开发:用 Animation 实现自定义动画的简易教程 (阿里通义 | 333点数解答 | 2023-11-09 01:50:07)271