随便输入一个日期怎么判断它是星期几。用c++实现。重要的是讲明怎么判断

没程序不要紧,怎么个算法要讲清楚... 没程序不要紧,怎么个算法要讲清楚 展开
 我来答
匿名用户
推荐于2016-08-01
展开全部
基姆拉尔森计算公式
  W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7
http://baike.baidu.com/view/739374.htm

#include<iostream>
using namespace std;

void CaculateWeekDay(int y,int m, int d)
{
if(m==1||m==2) {
m+=12;
y--;
}
int iWeek=(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7;
switch(iWeek)
{
case 0: cout <<"星期一"<<endl; break;
case 1: cout <<"星期二"<<endl; break;
case 2: cout <<"星期三"<<endl; break;
case 3: cout <<"星期四"<<endl; break;
case 4: cout <<"星期五"<<endl; break;
case 5: cout <<"星期六"<<endl; break;
case 6: cout <<"星期日"<<endl; break;
}
}
int main()
{
int year,month,day;
cout <<"请输入年 月 日"<<endl;
cin>>year;
cin>>month;
cin>>day;
CaculateWeekDay(year,month,day);
system("pause");
return 0;
}
qy2664257
推荐于2018-03-01 · TA获得超过188个赞
知道小有建树答主
回答量:195
采纳率:0%
帮助的人:221万
展开全部
我的想法是,
{首先定义一个日期范围比如 1950,1,1 (知道这天星期1)到2050,12,31
getday(当前日期){求出当前日期和 1950,1,1 的差的天数}

将天数getday()/7 计算相对的星期几,如果余数0,则也是星期一


每月几天,除了2月都是固定的,其中比较难做的地方就是计算从 1950,1,1到 输入日期有多少个闰年,此处添加另外一个函数getRunNian(){求的闰年个数}在将得到的细节天数计算到getday()中
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
福清港头
2018-07-17
知道答主
回答量:3
采纳率:0%
帮助的人:2509
展开全部
我家男孩子再在6岁的时候就能够随便跟给一个日期便知道是星期几,很快的,又准确,怎么会这样呢?那么小的孩子是怎么算的那么快?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式