| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5133 人关注过本帖
标题:c++编程,求助
只看楼主 加入收藏
diwuwei
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2016-4-24
结帖率:0
收藏
已结贴  问题点数:20 回复次数:10 
c++编程,求助
1990年元旦是星期一,1990年的7月1日是星期几?
2016-04-24 15:57
湘妃竹
Rank: 1
来 自:湖南
等 级:新手上路
帖 子:24
专家分:4
注 册:2016-4-20
收藏
得分:4 
C++作业吗?明天也要写这个了,可是还没有头绪
2016-04-24 19:05
c974288432
Rank: 3Rank: 3
等 级:论坛游侠
威 望:4
帖 子:44
专家分:104
注 册:2015-7-18
收藏
得分:4 
回复 楼主 diwuwei
#include<iostream.h>

main()
{   int a=1990,b=1,c=1,d=1;
    cout<<a<<"年"<<b<<"月"<<c<<"日,星期"<<d<<endl;
    while(1)
    {
    cin>>a>>b>>c;
    if(b==111) return;
    d=((a-1990)*360+(b-1)*31+c)%7;
    if( ((a-1990)*12+b)>3 )  d=( (a-1990)*12+b-3-( (a-1990)*12+b-3)%36 )/36+1+d;
    if(b>2) d=d-2;  
    if(b>4) d--;
    if(b>6) d--;
    if(b>9) d--;

   
    cout<<a<<"年"<<b<<"月"<<c<<"日,星期"<<d<<endl;

    }


   
}
2016-04-24 21:24
c974288432
Rank: 3Rank: 3
等 级:论坛游侠
威 望:4
帖 子:44
专家分:104
注 册:2015-7-18
收藏
得分:0 
试试    结果对么   也新手  不对商量改改
2016-04-24 21:25
仰望星空的
Rank: 5Rank: 5
等 级:贵宾
威 望:16
帖 子:50
专家分:248
注 册:2015-9-28
收藏
得分:4 
如果b=2呢,第一个d的式子对不?
2016-04-24 22:17
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:4 
((31+28+31+30+31+30)+1)%7 = 0
结果是 星期日
2016-04-25 08:26
c974288432
Rank: 3Rank: 3
等 级:论坛游侠
威 望:4
帖 子:44
专家分:104
注 册:2015-7-18
收藏
得分:0 
回复 5楼 仰望星空的
只试了  1990 2 1   。1991 2 1  我在试试去  
2016-04-25 09:52
c974288432
Rank: 3Rank: 3
等 级:论坛游侠
威 望:4
帖 子:44
专家分:104
注 册:2015-7-18
收藏
得分:0 
回复 6楼 rjsp
OK   我去改下  在看看  哪还不行  
2016-04-25 09:54
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
收藏
得分:4 
#include<iostream>
#include<graphics.h>
using namespace std;
void DayPass(SYSTEMTIME &t)
{
    if(t.wDayOfWeek==7)
        t.wDayOfWeek=1;
    else
        t.wDayOfWeek++;
    switch(t.wDay)
    {
    case 30:
        switch(t.wMonth)
        {
        case 1:
        case 3:
        case 5:
        case 7:
        case 8:
        case 10:
        case 12:
            t.wDay++;break;
        case 4:
        case 6:
        case 9:
        case 11:
            t.wDay=1;t.wMonth++;break;
        }
        break;
    case 31:
        switch(t.wMonth)
        {
        case 12:
            t.wYear++;t.wMonth=1;t.wDay=1;break;
        default:
            t.wMonth++;t.wDay=1;break;
        }
        break;
    case 28:
        switch(t.wMonth)
        {
        case 2:
            if(t.wYear%4!=0)//common year
            {
                t.wDay=1;t.wMonth=3;
            }
            else
                t.wDay=29;
            break;
        default:
            t.wDay=29;break;
        }
        break;
    case 29:
        if(t.wMonth==2)
        {
            t.wDay=1;t.wMonth=3;
        }
        else
            t.wDay=30;
        break;
    default:
        t.wDay++;
    }
}
int main()
{
    SYSTEMTIME time;
    time.wYear=1990;time.wMonth=1;time.wDay=1;time.wDayOfWeek=1;
    while(time.wYear!=1990||time.wMonth!=7||time.wDay!=1)
       DayPass(time);
    cout<<time.wYear<<'/'<<time.wMonth<<'/'<<time.wDay<<"星期"<<time.wDayOfWeek<<endl;           //算出是星期日
    return 0;
}
2016-04-25 21:12
c974288432
Rank: 3Rank: 3
等 级:论坛游侠
威 望:4
帖 子:44
专家分:104
注 册:2015-7-18
收藏
得分:0 
回复 9楼 yangfrancis
ok

 我也改了下之前那个
2016-04-26 16:47
快速回复:c++编程,求助
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017720 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved