c语言
时间: 2023-06-22 19:29:33 浏览: 99
好的,以下是一个简单的 C 语言程序,可以根据输入的年份输出该年份的年历。请参考以下代码:
```c
#include <stdio.h>
int main() {
int year, month, days, start_day;
int total_days = 0;
printf("请输入一个年份:");
scanf("%d", &year);
for (month = 1; month <= 12; month++) {
switch (month) {
case 1: printf("一月\n"); days = 31; break;
case 2:
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
printf("二月\n"); days = 29; break;
} else {
printf("二月\n"); days = 28; break;
}
case 3: printf("三月\n"); days = 31; break;
case 4: printf("四月\n"); days = 30; break;
case 5: printf("五月\n"); days = 31; break;
case 6: printf("六月\n"); days = 30; break;
case 7: printf("七月\n"); days = 31; break;
case 8: printf("八月\n"); days = 31; break;
case 9: printf("九月\n"); days = 30; break;
case 10: printf("十月\n"); days = 31; break;
case 11: printf("十一月\n"); days = 30; break;
case 12: printf("十二月\n"); days = 31; break;
}
printf("日 一 二 三 四 五 六\n");
for (int i = 1; i <= total_days % 7; i++) {
printf(" ");
}
for (int i = 1; i <= days; i++) {
printf("%2d ", i);
if ((total_days + i) % 7 == 6) {
printf("\n");
}
}
total_days += days;
printf("\n\n");
}
return 0;
}
```
这段程序中,我们首先通过 `scanf()` 函数获取用户输入的年份。然后,我们使用 `for` 循环遍历每个月份,并根据不同的月份计算出该月的天数。在输出每个月份的日历时,我们先输出一行星期几的标识符,然后使用两个 `for` 循环输出该月每一天的日期。在输出日期时,我们使用 `%2d` 指定输出宽度为 2,这样可以保证每个日期的宽度都相同,看起来更加整齐。
希望这个代码能够帮到你。
阅读全文