C语言:计算某年某月的1号是星期几并返回
时间: 2024-05-05 17:16:42 浏览: 12
以下是一个C语言函数,可以计算某年某月的1号是星期几并返回:
```c
#include <stdio.h>
int day_of_week(int year, int month)
{
int day;
if (month < 3) {
month += 12;
year--;
}
day = (1 + 2 * month + 3 * (month + 1) / 5 + year + year / 4 - year / 100 + year / 400) % 7;
return day;
}
int main()
{
int year, month, day;
printf("请输入年份和月份:");
scanf("%d%d", &year, &month);
day = day_of_week(year, month);
printf("%d年%d月1日是星期%d\n", year, month, day);
return 0;
}
```
这个函数使用了基姆拉尔森计算公式来计算给定年份和月份的1号是星期几。公式中的变量含义如下:
- year:年份
- month:月份
- day:星期几,0表示星期日,1表示星期一,以此类推。
在函数中,首先对月份进行了调整,使得1月和2月分别对应上一年的13月和14月,这是为了方便计算。然后按照公式计算出1号是星期几,最后返回结果。
在主函数中,先从用户输入中读取年份和月份,然后调用day_of_week函数计算1号是星期几,并输出结果。