以2000年 01月 02日 周7为基准点。
#include<stdio.h>
main()
{
int n,y,r,m,s,t=0,x;
scanf("%d%d%d",&n,&y,&r);
if(y=1) t=r;
if(y=2) t=31+r;
if(y>2)
{ t=t+31;
if((n%4==0)&&(n%100!=0)||(n%400==0))
{ t=t+29+r; }
else t=t+28+r;
for(s=3;s<y;s++)
{
if((s<8&&s%2==1)||(s>7&&s%2==0)) t=t+31;
else t=t+30;
}
} /* 相距天数总为T天 */
if(n>2000)
{
for(s=2000;s<n;s++)
{
if((s%4==0)&&(s%100!=0)||(s%400==0)) t=t+366;
else t=t+365;
}
x=(t-2)%7;
}
if(n<1999)
{
for(s=1999;s>n;s--)
{
if((s%4==0)&&(s%100!=0)||(s%400==0)) t=t+366;
else t=t+365;
}
if((n%4==0)&&(n%100!=0)||(n%400==0))
t=(t>366)?t-366:366-t;
else t=(t>365)?t-365:365-t;
x=7-(t+2)%7;
}
if(n=1999) {t=365-t; x=7-(t+2)%7;}
if(n=2000)
{
if(t>=2) x=(t-2)%7;
else x=(2-t)%2;
}
printf("%d",x);
getch();
}
这样做出来这么不对?...请指正、、
能给个简单的吗? 不能用数组一一列出。。....
额。。 stone_dongdong - 大哥,你认为一个刚看书的人,懂这些名词吗?