C 语言实现:根据用户输入年份和月份精准打印日历
以下是一个使用 C 语言打印日历的示例代码: ```c #include <stdio.h> // 判断是否为闰年 int isLeapYear(int year) { return ((year % 4 == 0 && year % 100!= 0) || year % 400 == 0); } // 获取指定月份的天数 int getDaysInMonth(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; } return days; } // 打印日历 void printCalendar(int year, int month) { int daysInMonth = getDaysInMonth(month, year); int dayOfWeek = 1; // 假设 1900 年 1 月 1 日是星期一 // 计算指定日期是星期几 for (int y = 1900; y < year; y++) { if (isLeapYear(y)) { dayOfWeek = (dayOfWeek + 366) % 7; } else { dayOfWeek = (dayOfWeek + 365) % 7; } } for (int m = 1; m < month; m++) { dayOfWeek = (dayOfWeek + getDaysInMonth(m, year)) % 7; } printf("日\t一\t二\t三\t四\t五\t六\n"); // 打印空格,使第一天对齐 for (int i = 0; i < dayOfWeek; i++) { printf("\t"); } // 打印日期 for (int day = 1; day <= daysInMonth; day++) { printf("%d\t", day); if ((day + dayOfWeek) % 7 == 0) { printf("\n"); } } } int main() { int year, month; printf("请输入年份: "); scanf("%d", &year); printf("请输入月份(1-12): "); scanf("%d", &month); printCalendar(year, month); return 0; } ``` 这段代码首先定义了一些函数来判断闰年、获取月份的天数以及打印日历。在`main`函数中,用户输入年份和月份,然后调用`printCalendar`函数打印出相应的日历。 ######[AI写代码神器 | 693点数解答 | 2024-11-02 20:19:01]
- Python 利用 Pandas 分析订单数据:逐年计算订单数量与销售金额总和(字节豆包 | 260点数解答 | 2024-11-10 14:26:05)296
- Python 代码实现按年份分析订单数据:销售指标全解读(阿里通义 | 701点数解答 | 2024-11-10 14:29:10)281
- Python 轻松处理教学、后勤、行政账目数据:提取年份新操作 (字节豆包 | 69点数解答 | 2024-10-31 17:39:14)300
- Linux 系统用户、组及文件操作全流程实践(字节豆包 | 1142点数解答 | 2026-03-20 17:29:38)39
- 📊 C++ 高效求解社交网络用户关注量与粉丝量(图论出度入度基础)(DeepSeek | 1799点数解答 | 2026-04-10 21:44:39)20
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)380
- Python 实现:打印 -n 到 n 范围内所有整数的代码及详解(字节豆包 | 232点数解答 | 2025-12-07 12:30:06)92
- Python代码:轻松打印 0 到输入整数之间的所有整数(字节豆包 | 126点数解答 | 2025-12-12 18:21:54)63
- C++实现:输入整数打印 0 到该整数间所有整数及代码详解(字节豆包 | 228点数解答 | 2025-12-12 18:22:24)74
- Python实现:打印0到输入整数间所有整数的代码解析(字节豆包 | 264点数解答 | 2025-12-12 19:37:01)63
- Python 实现:打印 -n 到 n 范围内所有整数的代码及详解(字节豆包 | 214点数解答 | 2025-12-12 19:40:30)65
- Python实现:打印 0 到 n 之间所有整数的高效方法(讯飞星火 | 569点数解答 | 2025-12-17 12:23:47)78