当前位置: 代码迷 >> C语言 >> 有哪为好心人帮我看看我的程序哪里错了啊~~~~~~
  详细解决方案

有哪为好心人帮我看看我的程序哪里错了啊~~~~~~

热度:119   发布时间:2005-12-25 22:21:00.0
有哪为好心人帮我看看我的程序哪里错了啊~~~~~~
题目是:
已知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();
}
----------------解决方案--------------------------------------------------------
没有反映啊~~~
----------------解决方案--------------------------------------------------------
你的程序中,从第一个闰年开始h和k就一直等于1了,不管是不是闰年,h、k都等于1。
----------------解决方案--------------------------------------------------------

强悍~~~~~搞定 了~~~~~
谢拉~~~~~~


----------------解决方案--------------------------------------------------------
  相关解决方案