用c语言写万年历,并且有注释
时间: 2024-02-29 09:51:04 浏览: 61
利用C语言写的万年历
好的,以下是用C语言写的万年历代码,已经加上了注释。希望对您有帮助。
```c
#include <stdio.h>
// 判断是否为闰年
int isLeapYear(int year) {
if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {
return 1;
}
return 0;
}
// 计算该年该月的天数
int getDaysOfMonth(int year, int month) {
int days;
switch (month) {
case 2:
if (isLeapYear(year)) {
days = 29;
} else {
days = 28;
}
break;
case 4:
case 6:
case 9:
case 11:
days = 30;
break;
default:
days = 31;
break;
}
return days;
}
int main() {
int year, month, day, totalDays = 0;
printf("请输入年份:");
scanf("%d", &year);
printf("请输入月份:");
scanf("%d", &month);
printf("请输入日期:");
scanf("%d", &day);
// 计算该年1月1日至该月1日的天数
for (int i = 1; i < month; i++) {
totalDays += getDaysOfMonth(year, i);
}
totalDays += day - 1;
// 计算星期几
int week = totalDays % 7;
// 打印日历
printf("%d年%d月\n", year, month);
printf("日\t一\t二\t三\t四\t五\t六\n");
for (int i = 0; i < week; i++) {
printf("\t");
}
for (int i = 1; i <= getDaysOfMonth(year, month); i++) {
printf("%d\t", i);
if ((i + week) % 7 == 0) {
printf("\n");
}
}
printf("\n");
return 0;
}
```
希望这份代码能够满足您的需求,如果有任何问题,欢迎随时提出。
阅读全文