我是大一学生,刚学的c语言知识不多,能不能帮我编写一个能打印月历的代码
时间: 2024-05-15 19:17:50 浏览: 8
当然可以帮您编写一个打印月历的代码。以下是 C 语言编写的示例代码:
```c
#include <stdio.h>
int main()
{
int year, month, week_day, day, i;
printf("请输入年份和月份:\n");
scanf("%d %d", &year, &month);
int days[] = {31,28,31,30,31,30,31,31,30,31,30,31};
//判断是否是闰年
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
{
days[1] = 29;
}
//计算当月第一天是星期几
week_day = (year + (year / 4) - (year / 100) + (year / 400) + ((13 * month + 8) / 5) + 1) % 7;
printf("%d年%d月的月历:\n", year, month);
printf("日 一 二 三 四 五 六\n");
// 输出空格
for (i = 0; i < week_day; i++)
{
printf(" ");
}
// 输出日历
for (day = 1; day <= days[month-1]; day++)
{
printf("%2d ", day);
if (((day + week_day) % 7 == 0) || (day == days[month-1]))
{
printf("\n");
}
}
return 0;
}
```
运行后,输入年份和月份,即可得到该月的月历。
注意:此代码只适用于公历。