c语言实现万年历具体代码
时间: 2023-11-12 19:33:28 浏览: 32
以下是一个简单的 C 语言程序,实现了万年历的功能:
```c
#include <stdio.h>
int main() {
int year, month, day, week, i, j;
int days[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
char* weeks[7] = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"};
printf("Enter year: ");
scanf("%d", &year);
printf("Enter month: ");
scanf("%d", &month);
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
days[1] = 29; // 闰年2月有29天
}
day = 1;
for (i = 1900; i < year; i++) {
if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0) {
day += 366;
} else {
day += 365;
}
}
for (i = 0; i < month - 1; i++) {
day += days[i];
}
week = day % 7; // 计算本月1号是星期几
printf(" %d年%d月\n", year, month);
printf("Sun Mon Tue Wed Thu Fri Sat\n");
for (i = 0; i < week; i++) {
printf(" "); // 输出空格
}
for (j = 1; j <= days[month - 1]; j++) {
printf("%3d ", j);
if ((j + week) % 7 == 0) {
printf("\n"); // 每输出7个数字换行
}
}
return 0;
}
```
程序首先要求用户输入年份和月份,然后根据输入的年份和月份计算出本月的天数和本月1号是星期几,最后输出一个日历表格。程序中用到了一个一维数组 `days` 存储每个月的天数,用一个字符串数组 `weeks` 存储星期几的名称。程序还考虑了闰年的情况,如果输入的年份是闰年,2月份的天数就是29天。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)