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

来源:互联网 发布:北京楼盘数据 编辑:程序博客网 时间:2024/05/21 06:19
#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;  }


1 0
原创粉丝点击