c语言编程显示单月日历,任意年月日历输出-题解(C语言代码)
时间: 2024-02-15 07:03:12 浏览: 80
好的,这是一个简单的C语言程序,可以显示任意一个月份的日历:
```
#include <stdio.h>
int main()
{
int year, month, days, start;
int i, j;
printf("请输入年份和月份(例如:2022 12):");
scanf("%d %d", &year, &month);
// 计算该月份有多少天
if (month == 2)
{
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
days = 29;
else
days = 28;
}
else if (month == 4 || month == 6 || month == 9 || month == 11)
days = 30;
else
days = 31;
// 计算该月份第一天是星期几
start = 1;
for (i = 1900; i < year; i++)
{
if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0)
start += 366;
else
start += 365;
}
for (i = 1; i < month; i++)
{
if (i == 2)
{
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
start += 29;
else
start += 28;
}
else if (i == 4 || i == 6 || i == 9 || i == 11)
start += 30;
else
start += 31;
}
start = start % 7;
// 输出日历
printf("\n日\t一\t二\t三\t四\t五\t六\n");
for (i = 0; i < start; i++)
printf("\t");
for (i = 1; i <= days; i++)
{
printf("%d\t", i);
if ((i + start) % 7 == 0)
printf("\n");
}
printf("\n");
return 0;
}
```
这个程序可以接受用户输入一个年份和一个月份,然后计算出该月份有多少天,以及该月份的第一天是星期几。最后,程序会输出一个日历,其中包括了该月份的所有日期。
阅读全文