根据年月日求日期的公式,代码实现。
int x,ri,m,d,i,s=0,a[12]= {31,28,31,30,31,30,31,31,30,31,30,31};
ri=(x+(x-1)/4-(x-1)/100+(x-1)/400)%7;
for( i=0; i<m-1; i++)
s=s+a[i];
s=s+d;
if(x%4==0)
s=s+1;
int j=(s+ri-1)%7;
switch(j)
{
case 0:
printf("7\n");
break;
case 1:
printf("1\n");
break;
case 2:
printf("2\n");
break;
case 3:
printf("3\n");
break;
case 4:
printf("4\n");
break;
case 5:
printf("5\n");
break;
case 6:
printf("6\n");
break;