C语言实现输入四位数年份和该年元旦星期几,打印全年年历
时间: 2024-03-01 11:51:18 浏览: 64
用汇编语言实现输入年份和月份,打印出该月的日历表
4星 · 用户满意度95%
好的,以下是 C 语言实现输入四位数年份和该年元旦星期几,打印全年年历的代码:
```c
#include <stdio.h>
int main() {
int year, day;
printf("请输入四位数的年份:");
scanf("%d", &year);
printf("请输入该年元旦是星期几(1-7分别代表周一到周日):");
scanf("%d", &day);
printf("\n");
// 计算该年2月份的天数
int days_of_feb = 28;
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
days_of_feb = 29;
}
// 输出年历
printf(" %d年\n", year);
printf(" 一月 二月 三月\n");
printf(" 周一 周二 周三 周四 周五 周六 周日 周一 周二 周三 周四 周五 周六 周日 周一 周二 周三 周四 周五 周六 周日\n");
// 输出1月份
int i = 1;
while (i <= 31) {
if (i == 1) {
for (int j = 1; j < day; j++) {
printf(" ");
}
}
printf("%4d", i);
if ((i + day - 1) % 7 == 0) {
printf("\n");
}
i++;
}
printf(" \n");
// 输出2月份
i = 1;
while (i <= days_of_feb) {
if (i == 1) {
for (int j = 1; j <= 7 - (day + 31 - 1) % 7; j++) {
printf(" ");
}
}
printf("%4d", i);
if ((i + day + 31 - 1) % 7 == 0) {
printf("\n");
}
i++;
}
printf(" \n");
// 输出3月份
i = 1;
while (i <= 31) {
if (i == 1) {
for (int j = 1; j <= 7 - (day + 31 + days_of_feb - 1) % 7; j++) {
printf(" ");
}
}
printf("%4d", i);
if ((i + day + 31 + days_of_feb - 1) % 7 == 0) {
printf("\n");
}
i++;
}
printf("\n");
// 输出4~12月份
int days_of_month[12] = {31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
for (int month = 4; month <= 12; month++) {
printf(" ");
for (int i = 1; i <= 7; i++) {
printf(" ");
}
printf(" ");
for (int i = 1; i <= 7; i++) {
printf(" ");
}
printf(" ");
for (int i = 1; i <= 7; i++) {
printf(" ");
}
printf("\n");
printf(" ");
for (int i = 1; i <= days_of_month[month - 1]; i++) {
printf("%4d", i);
if ((i + day + days_of_feb + 31 * (month - 1) - 1) % 7 == 0) {
printf("\n");
}
}
printf("\n");
}
return 0;
}
```
这个代码可以实现输入指定年份和该年元旦是星期几,然后输出该年的全年年历。
阅读全文