24小时热门版块排行榜    

查看: 1756  |  回复: 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的回帖

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的回帖

我爱小虫子

新虫 (正式写手)

引用回帖:
4楼: Originally posted by 虾仁拉面 at 2014-01-13 00:14:50
楼主可以找一下公历的表示法
leap=(year%400==0)||(year%100!=0)&&(year%4==0);
这句就是判断是否闰年...

谢谢你,你说的这个我是知道的,我纠结 的不是这句啊,是
(total=year-1980+(year-1980+3)/4),,,看了个二楼贴的网址,有点明白,但是还是又有我提出来的这个疑惑,希望大神能给出解释解释
5楼2014-01-13 08:55:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lxh661410

新虫 (初入文坛)


小木虫: 金币+0.5, 给个红包,谢谢回帖
表示看不懂啊,,虽然以前学过
6楼2014-01-18 20:13:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lxh661410

新虫 (初入文坛)


小木虫: 金币+0.5, 给个红包,谢谢回帖
送红花一朵
看了半天,似懂非懂,都是当年没有学好,现在说出来都是泪啊。。。
7楼2014-01-18 20:33:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

我爱小虫子

新虫 (正式写手)

引用回帖:
7楼: Originally posted by lxh661410 at 2014-01-18 20:33:06
看了半天,似懂非懂,都是当年没有学好,现在说出来都是泪啊。。。

还是谢谢你的关注
8楼2014-01-18 20:39:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yueyue_2013

金虫 (小有名气)


小木虫: 金币+0.5, 给个红包,谢谢回帖
你可以按照自己的算法做。书上给出的也只是一个比较常用的算法而已。初学者不必纠结于此。
为了最初的梦想
9楼2014-01-19 11:52:47
已阅   回复此楼   关注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的回帖
相关版块跳转 我要订阅楼主 我爱小虫子 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] E0414, 我的本子有没有希望? +7 布布和一二 2026-06-17 9/450 2026-06-21 19:29 by 布布和一二
[考研] 售T0P一区SCI文章,我:8O5.51.O.54,科目齐全,可+急 +3 9skg9htng1 2026-06-20 3/150 2026-06-21 19:18 by q1p9ixelzp
[教师之家] 售T0P一区SCI文章,我:8O5.51.O.54,科目齐全,可+急 +3 9skg9htng1 2026-06-20 3/150 2026-06-21 18:58 by q1p9ixelzp
[公派出国] 售T0P一区SCI文章,我:8O5.51.O.54,科目齐全,可+急 +3 9skg9htng1 2026-06-20 3/150 2026-06-21 18:00 by q1p9ixelzp
[考研] 售T0P一区SCI文章,我:8O5.51.O.54,科目齐全,可+急 +3 9skg9htng1 2026-06-20 4/200 2026-06-21 17:45 by q1p9ixelzp
[论文投稿] 售T0P一区SCI文章,我:8O5.51.O.54,科目齐全,可+急 +3 9skg9htng1 2026-06-20 3/150 2026-06-21 17:40 by q1p9ixelzp
[论文投稿] 售T0P一区SCI文章,我:8O5.51.O.54,科目齐全,可+急 +3 9skg9htng1 2026-06-20 3/150 2026-06-21 17:37 by q1p9ixelzp
[公派出国] 售T0P一区SCI文章,我:8O5.51.O.54,科目齐全,可+急 +4 vlfdw50o0u 2026-06-20 4/200 2026-06-21 17:25 by ky8v3skvft
[考博] 售T0P一区SCI文章,我:8O5.51.O.54,科目齐全,可+急 +4 vlfdw50o0u 2026-06-20 5/250 2026-06-21 17:20 by ky8v3skvft
[公派出国] 售T0P一区SCI文章,我:8O5.51.O.54,科目齐全,可+急 +4 vlfdw50o0u 2026-06-20 5/250 2026-06-21 17:00 by ky8v3skvft
[教师之家] 售T0P一区SCI文章,我:8O5.51.O.54,科目齐全,可+急 +5 vlfdw50o0u 2026-06-20 7/350 2026-06-21 16:57 by ky8v3skvft
[论文投稿] 售T0P一区SCI文章,我:8O5.51.O.54,科目齐全,可+急 +3 vlfdw50o0u 2026-06-20 5/250 2026-06-21 16:45 by ky8v3skvft
[教师之家] 售T0P一区SCI文章,我:8O5.51.O.54,科目齐全,可+急 +4 vlfdw50o0u 2026-06-20 7/350 2026-06-21 16:40 by ky8v3skvft
[论文投稿] 售T0P一区SCI文章,我:8O5.51.O.54,科目齐全,可+急 +4 vlfdw50o0u 2026-06-20 9/450 2026-06-21 16:37 by ky8v3skvft
[基金申请] 青A35岁以下通知答辩了吗 +3 暨阳一只柴 2026-06-17 3/150 2026-06-21 09:39 by kudofaye
[考博] 【全奖博士/科研助理/博后招生】新加坡南洋理工大学机械与航空航天学院 +3 robohaha 2026-06-15 4/200 2026-06-21 00:36 by lanbing1
[硕博家园] 一篇论文同时出现在两个期刊,一模一样,这算不算学术不端,请各位老师斧正。 +11 mahl005 2026-06-14 12/600 2026-06-18 17:01 by 770904134
[基金申请] 希望面上有个好结果 +7 碧水00 2026-06-16 7/350 2026-06-18 12:18 by wuke100666
[论文投稿] 三区计算机方向期刊推荐 +5 1457340941 2026-06-15 5/250 2026-06-17 13:16 by 会议编辑
[论文投稿] sci论文二审求助 +5 潘倍倍 2026-06-15 5/250 2026-06-16 10:15 by xs74101122
信息提示
请填处理意见