C语言编写一个输入年月日算出星期几的代码
时间: 2024-10-17 09:03:02 浏览: 35
在C语言中,我们可以使用蔡勒公式 (Zeller's congruence) 来计算给定日期对应的星期几。下面是一个简单的示例代码:
```c
#include <stdio.h>
int get_weekday(int year, int month, int day) {
if (month < 3) {
month += 12;
year--;
}
int century = year / 100;
int week_day = (day + ((13 * (month + 1)) / 5) + year + (year / 4) - (century / 4) + (century % 100) + (century / 400)) % 7;
return week_day; // 0代表星期日,1代表星期一,以此类推...
}
int main() {
int year, month, day;
printf("请输入年、月、日(格式:YYYY MM DD): ");
scanf("%d %d %d", &year, &month, &day);
int weekday = get_weekday(year, month, day);
switch (weekday) {
case 0:
printf("%d-%02d-%02d 星期日\n", year, month, day);
break;
case 1:
printf("%d-%02d-%02d 星期一\n", year, month, day);
break;
case 2:
printf("%d-%02d-%02d 星期二\n", year, month, day);
break;
case 3:
printf("%d-%02d-%02d 星期三\n", year, month, day);
break;
case 4:
printf("%d-%02d-%02d 星期四\n", year, month, day);
break;
case 5:
printf("%d-%02d-%02d 星期五\n", year, month, day);
break;
case 6:
printf("%d-%02d-%02d 星期六\n", year, month, day);
break;
default:
printf("无效的星期数\n");
}
return 0;
}
```
这个程序首先获取用户输入的年、月、日,然后通过蔡勒公式计算出这一天是星期几,并打印结果。
阅读全文