超级万年历c语言
时间: 2023-06-21 20:14:41 浏览: 99
以下是一个简单的C语言超级万年历程序:
```c
#include <stdio.h>
int main() {
int year, month, day, days;
printf("请输入年份:");
scanf("%d", &year);
printf("请输入月份:");
scanf("%d", &month);
printf("请输入日期:");
scanf("%d", &day);
// 计算天数
days = 0;
for (int i = 1; i < month; i++) {
if (i == 2) {
// 闰年判断
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
days += 29;
} else {
days += 28;
}
} else if (i == 4 || i == 6 || i == 9 || i == 11) {
days += 30;
} else {
days += 31;
}
}
days += day;
// 判断是否为闰年
int leap = 0;
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
leap = 1;
}
// 计算星期几
int week = (year - 1) % 7; // 公元1年1月1日为星期一,所以需要减1
for (int i = 1; i < month; i++) {
if (i == 2) {
// 闰年判断
if (leap) {
week += 29 % 7;
} else {
week += 28 % 7;
}
} else if (i == 4 || i == 6 || i == 9 || i == 11) {
week += 30 % 7;
} else {
week += 31 % 7;
}
}
week += (day - 1) % 7;
// 输出结果
printf("%d年%d月%d日是星期%d\n", year, month, day, week % 7);
return 0;
}
```
该程序可以根据输入的年月日计算出该日期是星期几。其中,需要注意闰年的判断,以及公元1年1月1日为星期一的特殊计算方法。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)