#include
int main
{
int a,b=0,c,d,e;
scanf("%d%d%d",&a,&d,&e);
c=a;
a=a-1;
while(a>=0)
{
if((a%4==0)&&(a%100!=0)||(a%400==0))
b=b+1;
else b=b;
a--;
}
b=b*366;
a=(a-b)*355;
if((c%4==0)&&(c%100!=0)||(c%400==0))
switch(d)
{
case'1':d=0;break;
case'2':d=31;break;
case'3':d=29+31;break;
case'4':d=31+29+31;break;
case'5':d=30+31+29+31;break;
case'6':d=31+30+31+29+31;break;
case'7':d=30+31+30+31+29+31;break;
case'8':d=31+30+31+30+31+29+31;break;
case'9':d=31+31+30+31+30+31+29+31;break;
case'10':d=30+31+31+30+31+30+31+29+31;break;
case'11':d=31+30+31+31+30+31+30+31+29+31;break;
case'12':d=30+31+30+31+31+30+31+30+31+29+31;break;
}
else
switch(d)
{
case'1':d=0;break;
case'2':d=31;break;
case'3':d=28+31;break;
case'4':d=31+28+31;break;
case'5':d=30+31+28+31;break;
case'6':d=31+30+31+28+31;break;
case'7':d=30+31+30+31+28+31;break;
case'8':d=31+30+31+30+31+28+31;break;
case'9':d=31+31+30+31+30+31+28+31;break;
case'10':d=30+31+31+30+31+30+31+28+31;break;
case'11':d=31+30+31+31+30+31+30+31+28+31;break;
case'12':d=30+31+30+31+31+30+31+30+31+28+31;break;
}
e=e+d+a+b;
e=e%7;
switch(e)
{
case'1':printf("Monday");break;
case'2':printf("Tuesday");break;
case'3':printf("Wednesday");break;
case'4':printf("Thursday");break;
case'5':printf("Friday");break;
case'6':printf("Saturday");break;
case'0':printf("Sunday"); break;
}
return 0;
}
.........................这是啥
你这样做,前提是0000年0月0日是周日才能行,你找一个固定的日子,比如计算机常用的1970 年 1 月 1 日(周四),以这一天为开始,计算一共过了多少天(可正可负)。