3)已知1990年1月1日是星期一.现要求根据输入的年月日输出该天是星期几.
为什么我做的有误差啊..哪位大哥帮我看看(在2005年可以别的年就不可以)
#include<stdio.h>
main()
{
int a[2][12]={
{31,28,31,30,31,30,31,31,30,31,30,31},
{31,29,31,30,31,30,31,31,30,31,30,31}},
b[2]={365,366};
int d,n,y,r,h=0,i=1,e;
long sum=0;
printf("qing shu ru ni yao de nian fen\n",n);
scanf("%d",&n);
printf("qing shu ru ni yao de yue fen\n",y);
scanf("%d",&y);
printf("qing shu ru ni yao de ri qi\n",r);
scanf("%d",&r);
if (n>1900)
{for (d=1900;d<n;d++)
{if(d%4==0&&d%100!=0||d%400==0)
i=2;
sum+=b[i];
i=1;
}
}
else sum=0;
if(n%4==0&&n%100!=0||n%400==0)
h=1;
sum+=r;
if(y!=1)
{
for(d=0;d<y-1;d++)
sum+=a[h][d];
}
e=(sum)%7;
printf("%d",e);
getch();