c语言编写万年历程序
时间: 2023-09-23 22:03:47 浏览: 84
好的,下面是用 C 语言编写的万年历程序代码:
```c
#include <stdio.h>
int main() {
int year, month, day, days, i;
printf("请输入年份: ");
scanf("%d", &year);
printf("请输入月份: ");
scanf("%d", &month);
printf("请输入日期: ");
scanf("%d", &day);
// 计算到公元 1 年 1 月 1 日的天数
days = (year - 1) * 365 + (year - 1) / 4 - (year - 1) / 100 + (year - 1) / 400;
// 计算当年到当月前一月的总天数
for (i = 1; i < month; i++) {
if (i == 2) {
if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0))
days += 29;
else
days += 28;
} else if (i == 4 || i == 6 || i == 9 || i == 11) {
days += 30;
} else {
days += 31;
}
}
// 加上当月的天数
days += day;
// 计算当天是星期几
int week_day = days % 7;
// 输出结果
printf("%d年%d月%d日是星期", year, month, day);
switch (week_day) {
case 0:
printf("日\n");
break;
case 1:
printf("一\n");
break;
case 2:
printf("二\n");
break;
case 3:
printf("三\n");
break;
case 4:
printf("四\n");
break;
case 5:
printf("五\n");
break;
case 6:
printf("六\n");
break;
}
return 0;
}
```
这个程序可以根据用户输入的年月日计算出对应的星期,其中使用了公历闰年的判定方法。
相关推荐
![text/x-c](https://img-home.csdnimg.cn/images/20210720083646.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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)