#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);
}
}
蔡勒星期公式(根据日期计算出周几)
最新推荐文章于 2021-09-16 13:58:25 发布
本文详细解析了一个通过输入年、月、日来计算该日期对应星期几的算法。该算法首先判断输入月份是否为1月或2月,然后转换年份和月份进行计算,最后返回对应的星期数字,其中0代表周日。适用于需要快速计算日期对应星期的场景。
&spm=1001.2101.3001.5002&articleId=89372369&d=1&t=3&u=c0bd285c53f740efbcd5299a8b60e2f3)
3771

被折叠的 条评论
为什么被折叠?



