24小时热门版块排行榜    

查看: 1569  |  回复: 9
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

我爱小虫子

新虫 (正式写手)

[交流] 疑惑:一道C++的小程序,不理解 已有4人参与

求一个日期对应的星期几
(这是在JAVA书上看到的,我把它转成了C++),但是,里面的一个语句(total=year-1980+(year-1980+3)/4)不懂是在干什么,求大神解答。。。。。自己感觉应该是(total=(year-1980)*365+(year-1980+3)/4).。。。你们觉得呢,我哪里理解错了吗


#include<iostream>
using namespace std;

void main()
{
        int year=2006,month=8,day=18,total,week,i;
        bool leap=false;
        leap=(year%400==0)||(year%100!=0)&&(year%4==0);
        week=1;                                               //起始日1979-12-31是Monday
        total=(year-1980)+(year-1980+3)/4;                    //求平(闰)年累计的总天数
        for(i=1;i<=month-1;i++)
        {
                switch(i)
                {
                case 1:
                case 3:
                case 5:
                case 7:
                case 8:
                case 10:
                case 12: total+=31;break;
                case 4:
                case 6:
                case 9:
                case 11:total+=30;break;
                case 2:
                        if(leap) total+=29;
                        else     total+=28;
                        break;


                }
        }

        total+=day;
        week=(week+total)%7;

        cout<<"date "<<year<<"-"<<month<<"-"<<day<<" is ";
        switch(week)
        {
        case 0: cout<<"Sunday"<<endl; break;
        case 1: cout<<"Monday"<<endl; break;
        case 2: cout<<"Tuesday"<<endl; break;
        case 3: cout<<"Wednesday"<<endl; break;
        case 4: cout<<"Thursday"<<endl; break;
        case 5: cout<<"Friday"<<endl; break;
        case 6: cout<<"Saturday"<<endl; break;
        }
}
回复此楼

» 本帖已获得的红花(最新10朵)

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

我爱小虫子

新虫 (正式写手)

引用回帖:
9楼: Originally posted by yueyue_2013 at 2014-01-19 11:52:47
你可以按照自己的算法做。书上给出的也只是一个比较常用的算法而已。初学者不必纠结于此。

嗯,谢谢你,我按照自己的想法能做出来,,但是我查了两本书都有这个算法,我想这个可能真的比较有用或者经典吧,就是想搞明白
10楼2014-01-19 16:09:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 10 个回答

laohuajiang

至尊木虫 (职业作家)

老花匠


小木虫: 金币+0.5, 给个红包,谢谢回帖
静坐常思自己过,闲谈莫论他人非!---老花匠(老非老-春残意彷徨;花非花-芳踪觅繁华,匠非匠-最美难得糊涂!)
2楼2014-01-09 15:03:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

我爱小虫子

新虫 (正式写手)

引用回帖:
2楼: Originally posted by laohuajiang at 2014-01-09 15:03:00
http://hi.baidu.com/hypatia9202/item/0ccecc846395b6d8d1f8cda9

非常感谢,。。。顿时感觉这个语句好高深,。。。但是,我还是想不明白,对于,2000,2100,这个两个年份它是怎么做到的,我知道,对于2000,在计算2001~2003的时候,累加了2000这个闰年,
对于2100,在计算2101~2103的时候,没有累加2100,因为它是平年,我就是想不明白,它是怎么做到能区分2000,和2100这种年份的
3楼2014-01-09 17:12:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

虾仁拉面

金虫 (初入文坛)


小木虫: 金币+0.5, 给个红包,谢谢回帖
引用回帖:
3楼: Originally posted by 我爱小虫子 at 2014-01-09 17:12:21
非常感谢,。。。顿时感觉这个语句好高深,。。。但是,我还是想不明白,对于,2000,2100,这个两个年份它是怎么做到的,我知道,对于2000,在计算2001~2003的时候,累加了2000这个闰年,
对于2100,在计算 ...

楼主可以找一下公历的表示法
leap=(year%400==0)||(year%100!=0)&&(year%4==0);
这句就是判断是否闰年
4楼2014-01-13 00:14:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 一志愿吉林大学材料学硕321求调剂 +9 Ymlll 2026-03-18 12/600 2026-03-20 00:01 by 23Postgrad
[考研] 286分人工智能专业请求调剂愿意跨考! +3 lemonzzn 2026-03-17 3/150 2026-03-19 23:58 by 23Postgrad
[考研] 生物学调剂招人!!! +3 山海天岚 2026-03-17 4/200 2026-03-19 21:34 by 怎么释怀
[考研] 复试调剂 +4 z1z2z3879 2026-03-14 6/300 2026-03-19 17:18 by fei626-918
[考研] 本人考085602 化学工程 专硕 +17 不知道叫什么! 2026-03-15 19/950 2026-03-19 15:06 by 尽舜尧1
[考研] 材料与化工求调剂 +7 为学666 2026-03-16 7/350 2026-03-19 14:48 by 尽舜尧1
[考研] 287求调剂 +3 晨昏线与星海 2026-03-19 4/200 2026-03-19 12:32 by peike
[考研] 【同济软件】软件(085405)考研求调剂 +3 2026eternal 2026-03-18 3/150 2026-03-18 19:09 by 搏击518
[考研] 0854可跨调剂,一作一项核心论文五项专利,省、国级证书40+数一英一287 +8 小李0854 2026-03-16 8/400 2026-03-18 14:35 by 搏击518
[考研] 297求调剂 +8 戏精丹丹丹 2026-03-17 8/400 2026-03-18 14:30 by laoshidan
[考研] 312求调剂 +8 陌宸希 2026-03-16 9/450 2026-03-18 12:39 by Linda Hu
[考研] 304求调剂 +12 小熊joy 2026-03-14 13/650 2026-03-18 12:34 by Linda Hu
[考研] 0703化学336分求调剂 +6 zbzihdhd 2026-03-15 7/350 2026-03-18 09:53 by zhukairuo
[考研] 326求调剂 +5 上岸的小葡 2026-03-15 6/300 2026-03-17 17:26 by ruiyingmiao
[考研] 11408 一志愿西电,277分求调剂 +3 zhouzhen654 2026-03-16 3/150 2026-03-17 07:03 by laoshidan
[考研] 321求调剂 +5 大米饭! 2026-03-15 5/250 2026-03-16 16:33 by houyaoxu
[考研] 070300化学学硕求调剂 +6 太想进步了0608 2026-03-16 6/300 2026-03-16 16:13 by kykm678
[考研] 0703化学调剂 290分有科研经历,论文在投 +7 腻腻gk 2026-03-14 7/350 2026-03-16 10:12 by houyaoxu
[考研] 080500,材料学硕302分求调剂学校 +4 初识可乐 2026-03-14 5/250 2026-03-14 21:08 by peike
[考研] 304求调剂 +7 7712b 2026-03-13 7/350 2026-03-13 21:42 by peike
信息提示
请填处理意见