关于“三天打渔两天晒网”的算法问题

#include <iostream>  
using namespace std;  
int main()  
{  
    int year,month,day;
    int y,m;  
    int sum=0; 
cout<<"请输入年月日,用空格隔开:"<<endl;              //在屏幕上显示提示语
    cin>>year>>month>>day;  
    if(year<2010||month<=0||month>12||day<=0||day>31)    //判断输入日期是否符合要求
{
cout<<"无效日期,请输入正确的日期!!!"<<endl;
}
else
{
y=year-2010;   //计算从2010年1月1日到现在共经过多少天
m=month-1;  
while(y>0)              
{  if((year%4==0 && year%100!=0) || (year%400==0)) 
{  
            sum+=366;  
}  
else  
{  
             sum+=365;  
}  
          y--;  
    }  
    while(m>0)  
    {  
        switch(m) 
        {  
            case 1:  
            case 3:  
            case 5:  
            case 7:  
            case 8:  
            case 10:  
            case 12:sum+=31;break;  
            case 4:  
            case 6:  
            case 9:  
            case 11:sum+=30;break;  
            case 2:  
            {  
                if( (year%4==0 && year%100!=0) || (year%400==0) )  //判断是否为闰年
                {  
                    sum+=29;break;  
                }  
                else  
                {  
                    sum+=28;break;  
                }  
            }  
        }  
        m--;  
    }  
    sum+=day; 
    if (((year%4 == 0 && year%100 != 0)||year%400==0)&&(month=2)&&(day>29||day<1))  //输入的二月份日期不符合规定时系统提示错误
{
cout<<"无效日期,请输入正确的日期!!!"<<endl;
}
else if (((year%4!=0 && year%400!=0)) && (month=2)&&(day>28||day<1))
{
cout<<"无效日期,请输入正确的日期!!!"<<endl;
}


    else if( (sum%5==1) || (sum%5==2) || (sum%5==3) )           //判断打渔还是晒网  
    {  
        cout<<"他今天打渔"<<endl;  
    }  
    else  
    {  
        cout<<"他今天晒网"<<endl;  
} 
}
    return 0;  
}


  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值