酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

用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`函数打印出相应的日历。 [2024-11-02 20:19:01 | AI写代码神器 | 693点数解答]

相关提问