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

/**  作者:cloud9*  日期:2019.2.27**  问题描述:中国有句俗语叫“三天打鱼两天晒网”。某人从2010年1月1日起开始“三天打鱼两天晒网”,*  问这个人在以后的某一天中是“打鱼”还是“晒网”。**  **
*/我的思路是先算从2010.1.1日到给定年限的前一年共有多少天,再加上给定年的天数,得到总天数,再用总天数
对5求模,如果余1,2,3则说明在打渔否则说明在晒网。但是这么算有一个问题——在大于2010年后会多算一天。
原因在于我们会将给定日期的那一年的1月1日算两次。因为从2010.1.1到2011.1.1才有365天,但是我在单独
计算2011年到某月某日有多少天时又把2011.1.1这一天计算了一次。#include<iostream>
#include<fstream>
#include<cstdlib>
const int MON_N = 13;
using namespace std;int a[MON_N] = {0,31,28,31,30,31,30,31,31,30,31,30,31};ofstream out;
ifstream infile;int main(int argc, char const *argv[])
{   int Judge(const int & year1,const int & month1,const int & day1);       //函数原型声明int year,month,day;infile.open("in.txt");if(infile.is_open()){cout << "infile打开文件成功" << endl;}out.open("out.txt");if (out.is_open()){cout << "out打开文件成功" << endl;}while (!infile.eof()){    infile >> year >> month >> day;if (year < 2010 || (month > 12 && month <= 0) || (day > 31 && day < 28))   //判断输入数据是否符合正常年月日的范围{out << "Error" << endl;break;}int flag = 0;flag = Judge(year, month, day);if (flag == 0){out << "Fishing" << endl;cout << "Fishing" << endl;}else if (flag == 1){out << "Sun net" << endl;cout << "Sun net" << endl;}elsebreak;}infile.close();out.close();system("pause");return 0;
}int    Judge(const int & year1,const int & month1,const int & day1)        //判断从2010.1.1到指定日期共经过了多少天,再求5的模根据余数判断是在打渔还是晒网
{   int sum_year = 0;for (int i = 2010; i < year1; i++)      /*计算从2010年到指定年限的前一年有多少天*/{if (i % 400 == 0 || (i % 4 == 0 && i % 100 != 0))        /*判断某一年是否是闰年,是闰年则加上366,不是则加上365*/                                              {sum_year += 366;}elsesum_year += 365;}if(!(year1 % 400 == 0 || (year1 % 100 != 0 && year1 % 4 == 0 ))){  if (month1 == 2 && day1 == 29)    /*判断当不是闰年出现2月29的情况下重新输入*/{out << "Error" << endl;return 2;}}else{if(month1 > 2)sum_year++;}for (int j = 0;j < month1 ;j++){sum_year += a[j];}sum_year += day1;if (year1 > 2010)       /*因为在计算总天数时将输入年份的1月1日这一天计算了两次,因此要减去一天*/sum_year--;if (sum_year % 5 <= 3 && sum_year % 5 >= 1)         /*当余数是1,2,3时,说明在打渔,否则在晒网*/return 0;elsereturn 1;
}

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

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

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

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

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

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

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

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

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

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

    已经实现的功能: 从键盘输入指定的年.月.日: 计算从2010年1月1日至指定日期共有多少天: 由于"打鱼"和"晒网"的周期为5天,所以将计算出的天数用5去除. ...

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

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

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

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

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

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

  9. 中国有句俗语叫“三天打鱼两天晒网”,某人从90年1月1日起开始“三天打鱼两天晒网”。问这个人在以后的某一天中是在“打渔”,还是在“晒网”. **输入格式要求:“%d%d%d“ 提示信息:“Enter

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

最新文章

  1. 打印零与奇偶数(多线程)
  2. case when用法
  3. Feature Schema中Module和File节点属性含义的解释
  4. python中的代码复用与函数递归
  5. java读取TXT文件的方法
  6. 理论基础 —— 索引 —— 2-3 树
  7. Docker 配置,详细说明 daemon.json 的作用
  8. 防止表格中的单行按钮被频繁点击,前端实例讲解~
  9. 【实战】Spring生成beanName冲突的解决之道:附源码分析
  10. c语言贪吃蛇最简单代码_让我们跑一个最简单的GAN网络吧!(附Jupyter Notebook 代码)...
  11. 安装neo4j过程中存在的问题
  12. 【转】selenium怎样定位web提示语
  13. 空间相册怎么移到计算机里,qq空间上传照片_怎样把电脑里存的照片传到qq空间??...
  14. 该怎么回答面试官问“你有什么优缺点?”
  15. 机器学习:向量空间中的投影
  16. 创建自己的人脸识别程序
  17. foreign 磁盘阵列_X3650M4 磁盘阵列
  18. MindMapper17中文版
  19. 大学计算机基础实验教学大纲,2013–2014–1大学计算机基础实验教学大纲–含AB专科.doc...
  20. 杨澜:我为何放弃让人眼红的工作去留学?

热门文章

  1. 2.11 求N分之一序列前N项和
  2. 【洛谷】P3518 [POI2011]SEJ-Strongbox
  3. 【计算方法】实验二:python实现高斯消去、列主元高斯消去,LU分解分别求解线性方程组
  4. AGNES 数据挖掘算法 C语言
  5. Spring In Action 03 ---面向切面的Spring
  6. 【管理与控制】干线控制
  7. UE4移动组件详解(三)——RootMotion与特殊移动模式的实现思路
  8. mysql里all什么意思_mysql中all的用法是什么
  9. 计算机找不到指纹登陆,Win10电脑上登陆选项没有PIN码和指纹设置的解决教程
  10. 部署dashboard