【OJ练习】三天打渔两天晒网

描述:

 俗话说三天打渔两天晒网,某人从201011日开始打三天鱼,然后晒两天网,然后再打三天鱼,再晒两天网,周而复始,输入任意一天,求该天是打渔还是晒网 

 

// 功能:从201011日起判断输入时期是否为打渔

// 输入: unsigned int  nYear 输入日期的年, unsigned int nMonth 输入日期的月,  unsigned int nDay 输入日期的日

// 输出:无

// 返回: 1 表示该天为打渔,0表示该天为晒网

 

unsigned int  IsTodayFishing (unsigned int  nYear, unsigned int nMonth, unsigned int nDay)

{

       int Num_year;

       int Num;

       int i;

       int Num1[12]={31,29,31,30,31,30,31,31,30,31,30,31};

       int Num2[12]={31,28,31,30,31,30,31,31,30,31,30,31};

 

       Num_year=nYear-2010;

       Num=Num_year*365+(Num_year+1)/4;

 

       if(nYear%4==0)

       {

              if(nMonth>1)

              {

                     for(i=1;i

                            Num+=Num2[i-1];

              }

       }

       else

       {

              if(nMonth>1)

              {

                     for(i=1;i

                            Num+=Num1[i-1];

              }

       }

       Num=Num+nDay;

 

       Num=Num%5;

       if(Num>=1&&Num<=3)

              return 1;

       else

              return 0;

}

你可能感兴趣的:(OJ,练习)