用c++语言写一个程序,打印某一年某个月的日历
时间: 2023-10-23 12:12:03 浏览: 266
好的,我可以为您提供一个简单的C语言程序,用于打印某一年某个月的日历。以下是示例代码:
```c
#include <stdio.h>
int main()
{
int month, year, days, startingDay;
printf("请输入月份和年份(以空格分开):");
scanf("%d %d", &month, &year);
// 判断该月份的天数
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;
}
// 计算该月份第一天是星期几
int a = (14 - month) / 12;
int y = year - a;
int m = month + 12 * a - 2;
startingDay = (1 + y + y / 4 - y / 100 + y / 400 + (31 * m) / 12) % 7;
// 根据第一天的星期打印日历
printf("\n 日 一 二 三 四 五 六\n");
for (int i = 0; i < startingDay; i++)
{
printf(" ");
}
for (int i = 1; i <= days; i++)
{
printf("%4d", i);
if ((i + startingDay) % 7 == 0)
{
printf("\n");
}
}
printf("\n");
return 0;
}
```
在程序中,我们首先要求用户输入要打印的年份和月份。然后根据月份判断该月份的天数,在判断该月份的第一天是星期几。接着根据第一天的星期打印出日历表格。
希望这个程序可以帮到你!
阅读全文