C语言程序,已知2021年是星期五,求2021年任意一天星期几
时间: 2024-10-05 19:02:39 浏览: 5
在C语言中,我们可以利用模运算(%)和蔡勒公式(Zeller's Congruence)来计算给定日期是星期几。蔡勒公式是一个古老的算法,可以基于年、月、日来确定星期几。公式如下:
```
int dayOfWeek(int year, int month, int day) {
if (month < 3) {
month += 12; // 如果月份小于3,转换为阳历中的实际月份
year--;
}
int century = year / 100;
int weekDay = (day + 2*month + 3*(month+1)/5 + year + year/4 - year/100 + year/400 + century - 2*century) % 7;
return weekDay; // 返回的结果范围是0到6,0代表周日,1代表周一,以此类推
}
```
要找出2021年任意一天是星期几,你可以先确定该月的日数(注意二月有28天或29天),然后调用上述函数。例如,如果想知道1月1日是星期几,就是`dayOfWeek(2021, 1, 1)`。
至于已知2021年是星期五的情况,可以直接跳过上述步骤,因为我们已经知道年初的一天是星期五,所以对于任意同一年内的每一天,只需要加上对应的天数,再通过取余7来确定新的星期几。
如果你想看到具体的某一天,只需把那个日子代入上面的函数即可。例如,你想知道2021年7月10日是星期几,就是`dayOfWeek(2021, 7, 10)`。