坑点:
1.今年是不是闰年?
2.是润年的话月份是否超过了2月份?
OK,来看代码。
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int year,i,count=0;
int day,k=0;
int week,days,m,sum=0;
int month[12]={31,28,31,30,31,30,31,31,30,31,30,31};
scanf("%d",&year);
for(i=1;i<=year;i++)
{
k=0;
if( (i%4==0 && i%100!=0)||(i%400==0) )
{
count++;
k=1;
}
}
scanf("%d",&m);
days=0;
for(i=0;i<m-1;i++)
{
days=days+month[i];
}
sum=(year-1)*365+count;
scanf("%d",&day);
sum=sum+day+days;
if(k==1 && m<=2)
{
sum=sum-1;
}
week=sum % 7;
switch(week)
{
case 1:printf("Monday\n"); break;
case 2:printf("Tuesday\n"); break;
case 3:printf("Wednesday\n"); break;
case 4:printf("Thursday\n"); break;
case 5:printf("Friday\n"); break;
case 6:printf("Saturday\n"); break;
case 0:printf("Sunday\n"); break;
}
return 0;
}