24小时热门版块排行榜    

查看: 1542  |  回复: 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的回帖
相关版块跳转 我要订阅楼主 我爱小虫子 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 一志愿985,本科211,0817化学工程与技术319求调剂 +4 Liwangman 2026-03-15 4/200 2026-03-16 08:01 by wang_dand
[考研] 材料工程专硕274一志愿211求调剂 +5 薛云鹏 2026-03-15 5/250 2026-03-15 20:38 by Logic2024
[考研] 材料专硕326求调剂 +4 墨煜姒莘 2026-03-15 4/200 2026-03-15 11:02 by dyw
[考研] 311求调剂 +3 26研0 2026-03-15 3/150 2026-03-15 09:12 by JourneyLucky
[考研] 266求调剂 +4 学员97LZgn 2026-03-13 4/200 2026-03-14 08:37 by zhukairuo
[考研] 328,0703考生求调剂,一志愿为东北师范大学 +4 观素律 2026-03-09 5/250 2026-03-14 01:24 by JourneyLucky
[考研] 0703求调剂 +7 jtyq001 2026-03-10 7/350 2026-03-14 01:06 by JourneyLucky
[考研] 307求调剂 +7 超级伊昂大王 2026-03-10 7/350 2026-03-14 00:49 by JourneyLucky
[考研] 312求调剂 +6 陌宸希 2026-03-10 6/300 2026-03-14 00:40 by JourneyLucky
[考研] b区环境工程求调剂 +4 Maps1 2026-03-10 6/300 2026-03-14 00:23 by JourneyLucky
[考研] 318求调剂 +3 李新光 2026-03-10 3/150 2026-03-14 00:21 by JourneyLucky
[考研] 285 求调剂 资源与环境 一志愿北京化工大学 +3 未名考生 2026-03-10 3/150 2026-03-13 23:04 by JourneyLucky
[考研] 材料与化工304求B区调剂 +5 邱gl 2026-03-11 6/300 2026-03-13 22:37 by JourneyLucky
[考研] 304求调剂 +7 7712b 2026-03-13 7/350 2026-03-13 21:42 by peike
[考研] 材料与化工085600调剂求老师收留 +9 jiaanl 2026-03-11 9/450 2026-03-13 20:22 by JourneyLucky
[考研] 301求调剂 +6 Liyouyumairs 2026-03-11 6/300 2026-03-13 20:11 by JourneyLucky
[硕博家园] 085600 260分求调剂 +3 天空还下雨么 2026-03-13 5/250 2026-03-13 18:46 by 天空还下雨么
[考研] 285求调剂 +4 ytter 2026-03-12 4/200 2026-03-13 14:48 by jxchenghu
[考研] 材料专硕274一志愿陕西师范大学求调剂 +4 薛云鹏 2026-03-13 4/200 2026-03-13 10:40 by 学员8dgXkO
[硕博家园] 木虫好像不热闹了,是不是? +4 偏振片 2026-03-10 4/200 2026-03-10 09:51 by longwave
信息提示
请填处理意见