我是靠谱客的博主 长情巨人,最近开发中收集的这篇文章主要介绍三天打鱼,两天晒网,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述



8、某人从2000年1月1日起,开始“三天打鱼,两天晒网”。从键盘输入任意一天(年月日),问该人是在打鱼,还是在晒网?



//题意分析,其实相当于求任意一天距2000.1.1的日期 ,将天数t%5<=3是打鱼,否则晒网。
#include<stdio.h>
//自定义一个判断函数is_leap(),判断是否 x是否是闰年。
int is_leap(int x)

 if( (x%4==0&&x%100!=0)||(x%400==0) )      //能被400整除或者被4整除而不被100整除的是闰年。
 return 1;
 return 0;
}
int main()
{
 int a[13]={0,31,29,31,30,31,30,31,31,30,31,31,30};  //存储每月天数的数组。
 int year,month,day;
 printf("请输入天数:n");
 while(scanf("%d %d %d",&year,&month,&day)!=EOF)
 {
  int i,t=0;

        if(year<2000) {printf("程序出错!n"); continue;}
        if(month>12||month<1) {printf("程序出错!n"); continue;}
        if(day<1)             {printf("程序出错!n"); continue;}
        if(month==2&&is_leap(year)&&day>29) {printf("程序出错!n"); continue;}
        if(month==2&&!is_leap(year)&&day>28)   {printf("程序出错!n"); continue;}
        if(month==(1||3||5||7||8||10||12)&&day>31){printf("程序出错!n"); continue;}
        if(month==(4||6||9||11)&&day>30)  {printf("程序出错!n");  continue;}


  //从2000年到year-1年,总共的天数。
  for(i=2000; i<=year-1; i++)
  {
   if(is_leap)
   t+=366;
   else
   t+=365;
  }
 /********求第year年的天数************/
  if(is_leap(year))
  {
   for(i=0; i<=month-1; i++)
   {
    t+=a[i];
   }
   t+=day;
  }
  else
  {
      if(month>2) t--;
   for(i=0; i<=month-1; i++)
   {
    t+=a[i];
   }
   t+=day;
  }
 /************************************/ 
  printf("第%d天nn",t);
  
 /*******天数t%5<=3是打鱼,否则晒网***********/ 
  if(t%5<=3&&t%5!=0)
  printf("小明在打鱼!!!n");
  else
  printf("小明在晒网!!!n");
  printf("n");
    }
}

最后

以上就是长情巨人为你收集整理的三天打鱼,两天晒网的全部内容,希望文章能够帮你解决三天打鱼,两天晒网所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部