三天打鱼两天晒网源代码

来源:互联网 发布:js 设置body style 编辑:程序博客网 时间:2024/06/07 18:19
//三天打鱼两天晒网


#include<stdio.h>


void main()
{
  int sum=0,s=0,date,month,year,d,m,y;  //必须初始化,否则变量就会变为系统给的随机值


  printf("请输入年月日:\n");
   scanf("%d,%d,%d",&year,&month,&date); 

 

 for(y=1990;y<=year;y++)  //是否闰年

  {
      if(year%400==0 || (year%4==0 && year%100!=0))
    
 sum+=366;
 else 

 sum+=365;
    
  for(m=1;m<=month;m++)    //计算月数
  {
          switch(m)
 { case1:case3:case5:case7:case8:case10:case12:d=31;break;
               case4:case6:case9:case11:d=30;break;
            case2:
 {
 if(year%400==0 || (year%4==0 && year%100!=0))
          d=29;
 else 
          d=28;     //判断闰二月
     }
break;
   default:d=0;
 }
 s+=d;
  }
      sum=sum-s+date;
  }
   if(sum%5==0||sum%5==4)
             printf("他在晒网!\n");       
       else
            printf("他在打渔!\n");

}


思路:

 在这个问题,计算出到目前为止的总天数sum,sum%5既能得出打渔还是晒网。

1. 计算每个月的天数,若日期为2月5号,就不用计算二月是否是闰二月也就不用加上二月份的天数,考虑这个问题很重要;

2. 计算月份数,若日期为6月26号,sum=5*每个月的天数+26;

3. 计算年数。


原创粉丝点击