#include "stdio.h" int YEAR(int year, int month){ if (month < 3){ return year-1; }else{ return year; } } int MONTH(int month){ if (month < 3){ return month + 12; }else{ return month; } } int WeekDay(int year, int month, int day){
时间: 2024-02-27 14:55:24 浏览: 47
#include <stdio.h>
这段代码看起来像是一个计算某个日期是星期几的函数。这个函数需要三个参数,分别是年份、月份和日期。以下是完整的代码实现:
```c
#include <stdio.h>
int YEAR(int year, int month) {
if (month < 3) {
return year - 1;
} else {
return year;
}
}
int MONTH(int month) {
if (month < 3) {
return month + 12;
} else {
return month;
}
}
int WeekDay(int year, int month, int day) {
int y = YEAR(year, month);
int m = MONTH(month);
int c = y / 100;
int y0 = y - c * 100;
int h = (day + (13 * (m + 1)) / 5 + y0 + y0 / 4 + c / 4 + 5 * c) % 7;
return h;
}
int main() {
int year, month, day;
printf("请输入日期(格式:年 月 日):");
scanf("%d %d %d", &year, &month, &day);
int weekday = WeekDay(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;
}
return 0;
}
```
这段代码使用了蔡勒公式(Zeller's congruence),可以计算出给定日期的星期几。在 `WeekDay()` 函数中,我们首先调用 `YEAR()` 和 `MONTH()` 函数计算出需要的参数。然后,我们使用蔡勒公式计算出星期几,最后返回结果。在 `main()` 函数中,我们通过 `scanf()` 函数获取用户输入的日期,然后调用 `WeekDay()` 函数计算出星期几,并输出结果。
希望这个代码能够帮到你。
阅读全文