有哪为好心人帮我看看我的程序哪里错了啊~~~~~~
题目是:已知1900年1月1日是星期一。现要求根据输入的年月日输出该天是星期几???
我做的为什么会有误差啊~~~~~为什么啊~~~~~~~
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 i,y,m,r,k=0,h=0,s;
long sum=0;
scanf("%d",&y);
scanf("%d",&m);
scanf("%d",&r);
if(y>1900)
{for(i=1900;i<y;i++)
{if(i%4==0&&i%100!=0||i%400==0)
h=1;
sum+=b[h];
}
}
else sum=0;
if(y%4==0&&y%100!=0||y%400==0)
k=1;
sum+=r;
if(m!=1)
{for(i=0;i<m-1;i++)
sum+=a[k][i];
}
s=(sum)%7;
printf("%d",s);
getch();
}