用c语言写万年历
时间: 2023-10-11 13:06:44 浏览: 118
好的,下面是用C语言编写万年历的代码:
```c
#include <stdio.h>
#include <stdlib.h>
int main()
{
int year, month, day, week, i, j;
printf("请输入年份:");
scanf("%d", &year);
printf("请输入月份:");
scanf("%d", &month);
// 判断输入的年份和月份是否合法
if (year < 1900 || year > 2100 || month < 1 || month > 12)
{
printf("输入的年份或月份不合法!\n");
exit(1);
}
// 计算输入的月份第一天是星期几
day = 1;
week = (day + 2 * month + 3 * (month + 1) / 5 + year + year / 4 - year / 100 + year / 400) % 7;
printf("%d年%d月的日历如下:\n", year, month);
// 输出日历表头
printf("日\t一\t二\t三\t四\t五\t六\n");
// 输出日历内容
for (i = 0; i < week; i++)
{
printf("\t");
}
for (j = 1; j <= 31; j++)
{
printf("%d\t", j);
if ((j + week) % 7 == 0)
{
printf("\n");
}
}
return 0;
}
```
这个程序可以输入年份和月份,然后输出对应的万年历。它使用了蔡勒公式计算输入的月份第一天是星期几,然后根据星期几来确定日历的排列方式。
阅读全文