思路分析:

1.首先输入年月日,为了保证正确性,输入年月日错误的时候就要重新输入(可单独写个函数,避免main函数太臃肿)

2.除开闰年,每年都是365天,刚好是5的倍数,所以这一年的第一天就是一个新的周期,但是没经过一个闰年,就会措开一天,所以需要计算输入的年份与1990年中间有几个闰年num1

3.自然是判断闰年的问题

4.计算一年中某天到该年1月1号的天数num2。

5.用(num1+num2)%5即可得到我们想要的结果

C语言代码:

#include<stdio.h>
bool data(int y,int m,int d); //输入正确年月日
int Ryear(int y); //判断输入年份与1990年间的闰年数有几个
int Rdata(int y,int m,int d);//判断输入的年月日到该年1月1日有多少天;
int main(){int y,m,d,b,i,j,num,sum;printf("请输入年月日\n",y,m,d);do{scanf("%d %d %d",&y,&m,&d);}while(!data(y,m,d));num=Ryear(y);sum=Rdata(y,m,d)+num;if(sum%5>=0&&sum%5<=3)printf("在打渔");else printf("在晒网");
}
bool data(int y,int m,int d){if(y<1990){printf("您输入的年份有误,请重新输入\n");return false;} if(m>12||m<1){printf("您输入的月份有误,请重新输入\n");return false;}if(d>31||d<1){printf("您输入的日期有误,请重新输入\n");return false;} return true;
}
int Ryear(int y){int num=0;for (int i=1990;i<y;i++){if((i%4==0&&i%100!=0)||i%400==0)num++; }return num;
}
int Rdata(int y,int m,int d){int mon[]={0,31,28,31,30,31,30,31,31,30,31,30,31};int sum=0;int i=m-1;switch(i){case 11:sum+=mon[i];case 10:sum+=mon[i];case 9:sum+=mon[i];case 8:sum+=mon[i];case 7:sum+=mon[i];case 6:sum+=mon[i];case 5:sum+=mon[i];case 4:sum+=mon[i];case 3:sum+=mon[i];case 2:sum+=mon[i];case 1:sum+=mon[i];case 0:sum+=d-1;default:break;}if(((y%4==0&&y%100!=0)||y%400==0)&&m>=2)sum++;return sum;
}

中国有句俗语叫“三天打鱼两天晒网”。某人从1990年1月1日起开始“三天打鱼两天晒网”, 问这个人在以后的某一天中是“打鱼”还是“晒网”?(考虑中间有几个闰年)相关推荐

  1. 中国有句俗语叫“三天打鱼两天晒网”。某人从1990年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是“打鱼”还是“晒网”。

    输入(Input): 年 月 日 输出(Output): (1)若这一天"晒网",输出 sleeping (2)若这一天"打鱼",输出 fishing 示例1( ...

  2. 中国有句俗语叫“三天打鱼两天晒网”(C语言实现)

    打鱼还是晒网问题(C语言实现) 1. 问题描述: 中国有句俗语叫"三天打鱼两天晒网".某人从1990年1月1日起开始"三天打鱼两天晒网",问这个人在以后的某一天 ...

  3. 中国有句俗语叫“三天打鱼两天晒网”。某人从2010年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是“打鱼”还是“晒网”。

    问题描述:中国有句俗语叫"三天打鱼两天晒网".某人从2010年1月1日起开始"三天打鱼两天晒网",问这个人在以后的某一天中是"打鱼"还是&q ...

  4. 中国有句俗语叫“三天打鱼两天晒网”。某人从2010年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是“打鱼”还是“晒网”。用java实现程序解决问题。

    一丶中国有句俗语叫"三天打鱼两天晒网".某人从2010年1月1日起开始"三天打鱼两天晒网",问这个人在以后的某一天中是"打鱼"还是" ...

  5. 中国有句俗语叫“三天打鱼两天晒网”。某人从2010年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是“打鱼”还是“晒网”

    问题: 中国有句俗语叫"三天打鱼两天晒网".某人从2010年1月1日起开始"三天打鱼两天晒网",问这个人在以后的某一天中是"打鱼"还是&qu ...

  6. 中国有句俗语叫“三天打鱼两天晒网”。某人从2010年1月1日起开始“三天打鱼两天晒网”, 问这个人在以后的某一天中是“打鱼”还是“晒网”。用C或C++语言/java/python实现程序解决问题

    /* 中国有句俗语叫"三天打鱼两天晒网".某人从2010年1月1日起开始"三天打鱼两天晒网", 问这个人在以后的某一天中是"打鱼"还是&qu ...

  7. 中国有句俗语叫“三天打鱼两天晒网”。 某人从2010年1月1日起开始“三天打鱼两天晒网”, 问这个人在以后的某一天中是“打鱼”还是“晒网”

    此题目难度不大,主要难度在于所给日期闰年判定以及经过的年份中闰年的个数问题, 对于输入日期的中日正确性判断,只需建立对应月份天数的数组即可判断.求出所给年份到初始年份经过的天数后对五取余判定是否大于三 ...

  8. 中国有句俗语叫“三天打鱼两天晒网”,某人从90年1月1日起开始“三天打鱼两天晒网”。问这个人在以后的某一天中是在“打渔”,还是在“晒网”(数组,循环,函数)

    中国有句俗语叫"三天打鱼两天晒网",某人从90年1月1日起开始"三天打鱼两天晒网".问这个人在以后的某一天中是在"打渔",还是在" ...

  9. 7-16 三天打鱼两天晒网 (15分) 中国有句俗语叫“三天打鱼两天晒网”。假设某人从某天起,开始“三天打鱼两天晒网”,问这个人在以后的第N天中是“打鱼”还是“晒网”?

    7-16 三天打鱼两天晒网 (15分) 中国有句俗语叫"三天打鱼两天晒网".假设某人从某天起,开始"三天打鱼两天晒网",问这个人在以后的第N天中是"打 ...

  10. 中国有句俗语叫“三天打鱼两天晒网”。假设某人从说明某天起,开始“三天打鱼两天晒网”,问这个人在以后的第N天中是“打鱼”还是“晒网”?

    中国有句俗语叫"三天打鱼两天晒网".假设某人从说明某天起,开始"三天打鱼两天晒网",问这个人在以后的第N天中是"打鱼"还是"晒网& ...

最新文章

  1. pandas使用fillna函数将dataframe中的缺失值按照列均值进行填充(fill missing values with the mean of the column)
  2. JAVA的异常(四):finally关键字
  3. 深度学习与PyTorch实战
  4. 详解python正则\b和\B的区别
  5. mybatis-generator自动生成mapper
  6. java的3个初始化_通过实例解析Java类初始化和实例初始化
  7. SpringBoot学习:在Interillj Idea上快速搭建SpringBoot项目
  8. leetcode98 验证二叉搜索树
  9. lr分析器的设计与实现_DCGAN原理分析与pytorch实现
  10. Spark将数据写入Mysql
  11. 07_封装丶静态和工具类
  12. node socketlog
  13. 5步操作,解决SOLIDWORKS处理复杂零件时卡顿的问题
  14. 计算机网络之域名系统DNS
  15. electron开发客户端注意事项(兼开源个人知识管理工具“想学吗”)
  16. matlab实验结果图片保存
  17. 霍尔开关在智能阀门位移器上的应用
  18. 一文搞懂指针,指针的指针,悬浮指针,野指针
  19. Oracle ORA-01033: ORACLE initialization or shutdown in progress 错误解决办法(亲测)
  20. 解决因改变oracle数据库的IP地址引起的“ORA-12541:TNS:无监听程序”

热门文章

  1. 编程程序 runtime error
  2. 2019吉林省赛东北四省赛总结
  3. 仰望星空,脚踏实地——吴燕生
  4. 渗透测试 ( 10 ) --- 扫描 web目录、文件 (dirb、wfuzz、wpscan、nikto)
  5. 百度移动统计热力图和事件分析的坑
  6. WPF基础篇 作者:IT168 静水流深 2008-01-02
  7. 15、Java基础---继承和访问属性
  8. java作业中数据分析与设计_Java课程设计——博客作业教学数据分析系统(201521123091 李嘉廉)...
  9. iWatch开发的真机调试适配攻略
  10. 什么句型可以 让我说出 悲伤的文法