总是少一天
#include
int leap_year(int y)
{
if((y%4==0&&y%100!=0)||(y%400==0))return 1;
else return 0;
}
int month_days(int m,int ly)
{
int a;
switch(m)
{
case 1:case 3:case 5:case 7:case 8:case 10:case 12:a=31;break;
case 4:case 6:case 9:case 11:a=30;break;
case 2:{if(!ly){a=28;break;}else {a=29;break;}}
}
return a;
}
int A_days(int m,int d,int ly)
{
int total=0,i;
for(i=1;i<m;i++)total+=month_days(i,ly);
total+=d;
return total;
}
int B_days(int y)
{
int total=0,i,ly;
for(i=1;i<y;i++)
{
ly=leap_year(i);
if(ly)total+=366;
else total+=365;
}
return total;
}
void final(int d)
{
d=d%7;
switch(d)
{
case 0:printf("saturday");break;
case 1:printf("sunday");break;
case 2:printf("monday");break;
case 3:printf("tuesday");break;
case 4:printf("wensday");break;
case 5:printf("thusday");break;
case 6:printf("friday");break;
}
printf("\n");
}
main()
{
int days,month,year,leapyear,adays,bdays,totaldays;
scanf("%d,%d,%d",&year,&month,&days);
leapyear=leap_year(year);
adays=A_days(month,days,leapyear);
bdays=B_days(year);
totaldays=adays+bdays;
final(totaldays);
}
已知公元1月1日是星期天,请问哪错了
|