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

C 语言实现:带边框表格形式打印指定年月日历

以下是一个用 C 语言编写的程序,可以打印输入年份和月份的日历,并带有边框以表格形式呈现: ```c #include <stdio.h> #include <stdlib.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 2: days = isLeapYear(year)? 29 : 28; break; case 4: case 6: case 9: case 11: days = 30; break; default: days = 31; break; } return days; } // 获取指定日期是星期几(0 表示星期日,1 表示星期一,以此类推) int getDayOfWeek(int day, int month, int year) { int t[] = {0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4}; year -= month < 3; return (year + year / 4 - year / 100 + year / 400 + t[month - 1] + day) % 7; } // 打印日历 void printCalendar(int month, int year) { int daysInMonth = getDaysInMonth(month, year); int dayOfWeek = getDayOfWeek(1, month, year); printf("+---------------------------+\n"); printf("| %d 年 %d 月 |\n", year, month); printf("+---------------------------+\n"); printf("| 日 一 二 三 四 五 六 |\n"); int i; for (i = 0; i < dayOfWeek; i++) { printf(" "); } for (i = 1; i <= daysInMonth; i++) { printf("%3d", i); if ((i + dayOfWeek) % 7 == 0) { printf("\n"); } } printf("\n+---------------------------+\n"); } int main() { int year, month; printf("请输入年份: "); scanf("%d", &year); printf("请输入月份: "); scanf("%d", &month); printCalendar(month, year); return 0; } ``` 这个程序首先定义了一些函数来处理日期的计算,然后通过`printCalendar`函数打印出指定年份和月份的日历。在`main`函数中获取用户输入的年份和月份,并调用打印函数。 ######[AI写代码神器 | 682点数解答 | 2024-11-02 20:30:30]

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