用C语言打印出万年历要求4位数年份和该年元旦星期几
时间: 2024-03-01 16:52:26 浏览: 195
好的,下面是用 C 语言实现的代码:
```c
#include <stdio.h>
int main() {
int year, day;
printf("请输入一个4位数的年份:");
scanf("%d", &year);
// 计算该年元旦星期几
day = (year + (year - 1) / 4 - (year - 1) / 100 + (year - 1) / 400) % 7;
// 打印年份和星期几
printf("%d年的元旦是星期%d\n\n", year, day);
// 打印万年历
int month, days, i;
for (month = 1; month <= 12; month++) {
printf(" %d月\n", month);
printf("日 一 二 三 四 五 六\n");
// 计算该月天数
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;
}
// 打印该月日历
for (i = 1; i <= days + day; i++) {
if (i <= day) {
printf(" ");
} else {
printf("%2d ", i - day);
}
if (i % 7 == 0) {
printf("\n");
}
}
printf("\n");
// 计算下一个月元旦星期几
day = (day + days) % 7;
}
return 0;
}
```
运行程序后,输入一个4位数的年份,程序就会输出该年的元旦星期几,并打印出该年的万年历。
阅读全文