蔡勒公式是否有问题?我计算2011年1月1日到2月1日正常,但3月1日后就出错了,怎么回事??
这是我在c语言里面的代码intgetweek(intyear,intm,intd){intc,y,w;/*处理数据*/c=year/100;y=year%100;/*取世...
这是我在c语言里面的代码
int getweek(int year,int m,int d)
{
int c,y,w;
/*处理数据*/
c=year/100;
y=year%100; /*取世纪和年*/
if(m<=2)
{
if(y==0)
{
c-=1;
};
y--;
m+=12;
};
/*w=(y+y/4+c/4-2*c+26*(m+1)/10+d-1);计算*/
w=(c/4-2*c+y+y/4+13*(m+1)/5+d-1);
return w%7;
}
用笔算也是如此。。求解。。。 展开
int getweek(int year,int m,int d)
{
int c,y,w;
/*处理数据*/
c=year/100;
y=year%100; /*取世纪和年*/
if(m<=2)
{
if(y==0)
{
c-=1;
};
y--;
m+=12;
};
/*w=(y+y/4+c/4-2*c+26*(m+1)/10+d-1);计算*/
w=(c/4-2*c+y+y/4+13*(m+1)/5+d-1);
return w%7;
}
用笔算也是如此。。求解。。。 展开
展开全部
int getweek(int year,int m,int d)
{
int c,y,w;
/*处理数据*/
if(m<=2)
{
year--;
m+=12;
}
c=year/100; /*取世纪和年*/
y=year%100;
/*w=(y+y/4+c/4-2*c+26*(m+1)/10+d-1);计算*/
w=(c/4-2*c+y+y/4+13*(m+1)/5+d-1);
return (w%7+7)%7; //w有可能为负数,我们这样返回
}
{
int c,y,w;
/*处理数据*/
if(m<=2)
{
year--;
m+=12;
}
c=year/100; /*取世纪和年*/
y=year%100;
/*w=(y+y/4+c/4-2*c+26*(m+1)/10+d-1);计算*/
w=(c/4-2*c+y+y/4+13*(m+1)/5+d-1);
return (w%7+7)%7; //w有可能为负数,我们这样返回
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询