#include<stdio.h>
int Change(int year,int month,int day)//根据日期判断出星期几
{
if(month==1||month==2)//所求月份为1月或2月,应视为前一年的13月或14月;
{
month+=12;
year--;
}
int c=year/100;//c为公元年份的前两位数字
int y=year%100;//c为公元年份的后两位数字
int m=month;//m为月份
int d=day;//d为天数
int W=c/4-2*c+y+y/4+26*(m+1)/10+d-1;
if(W<0) //若所求数字小于7,直接加上7的倍数,直到结果大于0小于7为止。
return (W+(-W/7+1)*7)%7;
return W%7;//若所求数字大于7,可直接对7取余,周日输出为0
}
int main()
{
int y,m,d;
while(scanf("%d %d %d",&y,&m,&d)!=EOF)
{
int ans=Change(y,m,d);
printf("%d\n",ans);
}
}
蔡勒星期公式(根据日期计算出周几)
最新推荐文章于 2024-07-17 14:58:37 发布