用蔡勒公式写根据日期求星期的c语言程序
时间: 2024-09-30 22:07:45 浏览: 66
蔡勒公式(Zeller's Congruence)是一种古老的算法,用于计算给定日期对应的星期几。以下是使用C语言编写的一个基于蔡勒公式的简单程序示例:
```c
#include <stdio.h>
// 定义蔡勒公式函数
int zellers_congruence(int year, int month, int day) {
if (month <= 2) { // 如果月份小于等于2,把月份数加1并补足一年
month += 12;
year--;
}
// 计算蔡勒公式的结果
int century = year / 100; // 世纪
int week_day = (day + (13 * (month + 1) / 5) + year + (year / 4) - (century / 4) + (century)) % 7;
// 返回0代表星期日,1代表星期一,以此类推,6代表星期六
return (week_day + 2) % 7;
}
int main() {
int year, month, day;
printf("请输入年份、月份和日期:\n");
scanf("%d %d %d", &year, &month, &day);
int weekday = zellers_congruence(year, month, day);
switch (weekday) {
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;
default: printf("输入有误,请检查日期!\n");
}
return 0;
}
```
阅读全文