c语言写万年历,要简单的
时间: 2023-12-23 17:04:30 浏览: 85
使用C语言编写简单的万年历
好的,以下是一个简单的C语言万年历实现:
```c
#include <stdio.h>
int main()
{
int year, month, days, weekDay, i, j;
// 获取用户输入的年份和月份
printf("请输入年份:");
scanf("%d", &year);
printf("请输入月份:");
scanf("%d", &month);
// 计算该月有多少天
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;
}
// 计算该月第一天是星期几
weekDay = (year - 1) * 365 + (year - 1) / 4 - (year - 1) / 100 + (year - 1) / 400;
for (i = 1; i < month; i++) {
if (i == 2) {
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
weekDay += 29;
} else {
weekDay += 28;
}
} else if (i == 4 || i == 6 || i == 9 || i == 11) {
weekDay += 30;
} else {
weekDay += 31;
}
}
weekDay = (weekDay + 1) % 7;
// 输出日历
printf("日 一 二 三 四 五 六\n");
for (i = 0; i < weekDay; i++) {
printf(" ");
}
for (j = 1; j <= days; j++) {
printf("%2d ", j);
if ((j + weekDay) % 7 == 0) {
printf("\n");
}
}
return 0;
}
```
该程序通过用户输入的年份和月份,计算出该月有多少天以及该月第一天是星期几,然后按照日历格式输出出来。
阅读全文