中国有句俗语叫“三天打鱼两天晒网”。某人从2010年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是“打鱼”还是“晒网”。
问题描述:中国有句俗语叫“三天打鱼两天晒网”。某人从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日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是“打鱼”还是“晒网”。相关推荐
- 中国有句俗语叫“三天打鱼两天晒网”。某人从2010年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是“打鱼”还是“晒网”。用java实现程序解决问题。
一丶中国有句俗语叫"三天打鱼两天晒网".某人从2010年1月1日起开始"三天打鱼两天晒网",问这个人在以后的某一天中是"打鱼"还是" ...
- 中国有句俗语叫“三天打鱼两天晒网”。某人从2010年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是“打鱼”还是“晒网”
问题: 中国有句俗语叫"三天打鱼两天晒网".某人从2010年1月1日起开始"三天打鱼两天晒网",问这个人在以后的某一天中是"打鱼"还是&qu ...
- 中国有句俗语叫“三天打鱼两天晒网”。某人从2010年1月1日起开始“三天打鱼两天晒网”, 问这个人在以后的某一天中是“打鱼”还是“晒网”。用C或C++语言/java/python实现程序解决问题
/* 中国有句俗语叫"三天打鱼两天晒网".某人从2010年1月1日起开始"三天打鱼两天晒网", 问这个人在以后的某一天中是"打鱼"还是&qu ...
- 中国有句俗语叫“三天打鱼两天晒网”。 某人从2010年1月1日起开始“三天打鱼两天晒网”, 问这个人在以后的某一天中是“打鱼”还是“晒网”
此题目难度不大,主要难度在于所给日期闰年判定以及经过的年份中闰年的个数问题, 对于输入日期的中日正确性判断,只需建立对应月份天数的数组即可判断.求出所给年份到初始年份经过的天数后对五取余判定是否大于三 ...
- Java---中国有句俗语叫“三天打鱼两天晒网”。某人从2010年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是“打鱼”还是“晒网”。
已经实现的功能: 从键盘输入指定的年.月.日: 计算从2010年1月1日至指定日期共有多少天: 由于"打鱼"和"晒网"的周期为5天,所以将计算出的天数用5去除. ...
- 中国有句俗语叫“三天打鱼两天晒网”,某人从90年1月1日起开始“三天打鱼两天晒网”。问这个人在以后的某一天中是在“打渔”,还是在“晒网”(数组,循环,函数)
中国有句俗语叫"三天打鱼两天晒网",某人从90年1月1日起开始"三天打鱼两天晒网".问这个人在以后的某一天中是在"打渔",还是在" ...
- 7-16 三天打鱼两天晒网 (15分) 中国有句俗语叫“三天打鱼两天晒网”。假设某人从某天起,开始“三天打鱼两天晒网”,问这个人在以后的第N天中是“打鱼”还是“晒网”?
7-16 三天打鱼两天晒网 (15分) 中国有句俗语叫"三天打鱼两天晒网".假设某人从某天起,开始"三天打鱼两天晒网",问这个人在以后的第N天中是"打 ...
- 中国有句俗语叫“三天打鱼两天晒网”。假设某人从说明某天起,开始“三天打鱼两天晒网”,问这个人在以后的第N天中是“打鱼”还是“晒网”?
中国有句俗语叫"三天打鱼两天晒网".假设某人从说明某天起,开始"三天打鱼两天晒网",问这个人在以后的第N天中是"打鱼"还是"晒网& ...
- 中国有句俗语叫“三天打鱼两天晒网”,某人从90年1月1日起开始“三天打鱼两天晒网”。问这个人在以后的某一天中是在“打渔”,还是在“晒网”. **输入格式要求:“%d%d%d“ 提示信息:“Enter
中国有句俗语叫"三天打鱼两天晒网",某人从90年1月1日起开始"三天打鱼两天晒网".问这个人在以后的某一天中是在"打渔",还是在" ...
最新文章
- 打印零与奇偶数(多线程)
- case when用法
- Feature Schema中Module和File节点属性含义的解释
- python中的代码复用与函数递归
- java读取TXT文件的方法
- 理论基础 —— 索引 —— 2-3 树
- Docker 配置,详细说明 daemon.json 的作用
- 防止表格中的单行按钮被频繁点击,前端实例讲解~
- 【实战】Spring生成beanName冲突的解决之道:附源码分析
- c语言贪吃蛇最简单代码_让我们跑一个最简单的GAN网络吧!(附Jupyter Notebook 代码)...
- 安装neo4j过程中存在的问题
- 【转】selenium怎样定位web提示语
- 空间相册怎么移到计算机里,qq空间上传照片_怎样把电脑里存的照片传到qq空间??...
- 该怎么回答面试官问“你有什么优缺点?”
- 机器学习:向量空间中的投影
- 创建自己的人脸识别程序
- foreign 磁盘阵列_X3650M4 磁盘阵列
- MindMapper17中文版
- 大学计算机基础实验教学大纲,2013–2014–1大学计算机基础实验教学大纲–含AB专科.doc...
- 杨澜:我为何放弃让人眼红的工作去留学?
热门文章
- 2.11 求N分之一序列前N项和
- 【洛谷】P3518 [POI2011]SEJ-Strongbox
- 【计算方法】实验二:python实现高斯消去、列主元高斯消去,LU分解分别求解线性方程组
- AGNES 数据挖掘算法 C语言
- Spring In Action 03 ---面向切面的Spring
- 【管理与控制】干线控制
- UE4移动组件详解(三)——RootMotion与特殊移动模式的实现思路
- mysql里all什么意思_mysql中all的用法是什么
- 计算机找不到指纹登陆,Win10电脑上登陆选项没有PIN码和指纹设置的解决教程
- 部署dashboard