蔡勒公式是否有问题?我计算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;
}
用笔算也是如此。。求解。。。
展开
 我来答
adaibaili
2011-01-25
知道答主
回答量:15
采纳率:0%
帮助的人:7.3万
展开全部
没有问题,请仔细核对你的算法与标准公示差异,问题一定可以解决!!!
loumou
2011-01-11 · TA获得超过865个赞
知道小有建树答主
回答量:1049
采纳率:0%
帮助的人:726万
展开全部
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有可能为负数,我们这样返回
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式