基姆拉尔森计算公式:
下列计算出的结果为现实中的周几情况,若题目假设的日期与现实不符,可以通过加上偏移量来校正。
#include<stdio.h>
int main()
{
int year,month,day;
int total;
scanf("%d/%d/%d",&year,&month,&day);
if(month<3){
month+=12;
year-=1;
}
total=(day+2*month+3*(month+1)/5+year+year/4-year/100+year/400)%7;
switch(total)
{
case(0):
printf("MON");
break;
case(1):
printf("TUE");
break;
case(2):
printf("WED");
break;
case(3):
printf("THU");
break;
case(4):
printf("FRI");
break;
case(5):
printf("SAT");
break;
case(6):
printf("SUN");
break;
}
}