c语言编写万年历中求年星期差的问他

  if (year>2000) d=(year-1-2000)/4-(year-1-2000)/100+(year-1-2000)/400+1;
  else d=(year-2000)/4-(year-2000)/100+(year-2000)/400;
  dy=(year-2000)+d; /*** 该年 1月1号 到2000年1月1号的 " 星期差 " ***/
请问这句该怎么理解
这题我已经会了 由于没有好的答案所以一直搁置 回答二楼 dy 是年星期差 d是个临时变量(我不是备注在后面了吗) 若看到正确回答我依然会设为满意 衷心希望不要再出现一楼一样的2货 若再出现 评论将跟他一样 相信还是好人多

这显然不是计算星期差的
比如2001年1月1日,用你的代码代进去,d=1,dy=2 2个日期差了1年怎么会只差2周呢,应该是52个星期才对

用C计算星期差太麻烦,不知道你会不会C++

你在头文件里面加#include "CTime.h"

然后CTimeSpan T;
CTime T1(2000,1,1,0,0,0); //设置时间为2000年1月1日0时0分0秒
CTime T2(2001,1,1,0,0,0);//这个可以自己设置时间
T=T2-T1;
int weeks= T.GetWeeks();

这样就行了
我以前写过一个C语言计算2个日期之间相差天数的程序,要的话可以发给你,稍微改一下就可以准确计算星期了
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-08-03
万年历这么简单都不会
垃圾

垃圾就是垃圾追问

呵 我笑 就知道你是个2货

追答

垃圾就是垃圾

第2个回答  2012-08-07
晕,d,dy,是什么都没写出来