中国有句俗语叫“三天打鱼两天晒网”。某人从1990年1月1日起开始“三天打鱼两天晒网”, 问这个人在以后的某一天中是“打鱼”还是“晒网”?(考虑中间有几个闰年)
思路分析:
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日起开始“三天打鱼两天晒网”, 问这个人在以后的某一天中是“打鱼”还是“晒网”?(考虑中间有几个闰年)相关推荐
- 中国有句俗语叫“三天打鱼两天晒网”。某人从1990年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是“打鱼”还是“晒网”。
输入(Input): 年 月 日 输出(Output): (1)若这一天"晒网",输出 sleeping (2)若这一天"打鱼",输出 fishing 示例1( ...
- 中国有句俗语叫“三天打鱼两天晒网”(C语言实现)
打鱼还是晒网问题(C语言实现) 1. 问题描述: 中国有句俗语叫"三天打鱼两天晒网".某人从1990年1月1日起开始"三天打鱼两天晒网",问这个人在以后的某一天 ...
- 中国有句俗语叫“三天打鱼两天晒网”。某人从2010年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是“打鱼”还是“晒网”。
问题描述:中国有句俗语叫"三天打鱼两天晒网".某人从2010年1月1日起开始"三天打鱼两天晒网",问这个人在以后的某一天中是"打鱼"还是&q ...
- 中国有句俗语叫“三天打鱼两天晒网”。某人从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日起开始“三天打鱼两天晒网”, 问这个人在以后的某一天中是“打鱼”还是“晒网”
此题目难度不大,主要难度在于所给日期闰年判定以及经过的年份中闰年的个数问题, 对于输入日期的中日正确性判断,只需建立对应月份天数的数组即可判断.求出所给年份到初始年份经过的天数后对五取余判定是否大于三 ...
- 中国有句俗语叫“三天打鱼两天晒网”,某人从90年1月1日起开始“三天打鱼两天晒网”。问这个人在以后的某一天中是在“打渔”,还是在“晒网”(数组,循环,函数)
中国有句俗语叫"三天打鱼两天晒网",某人从90年1月1日起开始"三天打鱼两天晒网".问这个人在以后的某一天中是在"打渔",还是在" ...
- 7-16 三天打鱼两天晒网 (15分) 中国有句俗语叫“三天打鱼两天晒网”。假设某人从某天起,开始“三天打鱼两天晒网”,问这个人在以后的第N天中是“打鱼”还是“晒网”?
7-16 三天打鱼两天晒网 (15分) 中国有句俗语叫"三天打鱼两天晒网".假设某人从某天起,开始"三天打鱼两天晒网",问这个人在以后的第N天中是"打 ...
- 中国有句俗语叫“三天打鱼两天晒网”。假设某人从说明某天起,开始“三天打鱼两天晒网”,问这个人在以后的第N天中是“打鱼”还是“晒网”?
中国有句俗语叫"三天打鱼两天晒网".假设某人从说明某天起,开始"三天打鱼两天晒网",问这个人在以后的第N天中是"打鱼"还是"晒网& ...
最新文章
- pandas使用fillna函数将dataframe中的缺失值按照列均值进行填充(fill missing values with the mean of the column)
- JAVA的异常(四):finally关键字
- 深度学习与PyTorch实战
- 详解python正则\b和\B的区别
- mybatis-generator自动生成mapper
- java的3个初始化_通过实例解析Java类初始化和实例初始化
- SpringBoot学习:在Interillj Idea上快速搭建SpringBoot项目
- leetcode98 验证二叉搜索树
- lr分析器的设计与实现_DCGAN原理分析与pytorch实现
- Spark将数据写入Mysql
- 07_封装丶静态和工具类
- node socketlog
- 5步操作,解决SOLIDWORKS处理复杂零件时卡顿的问题
- 计算机网络之域名系统DNS
- electron开发客户端注意事项(兼开源个人知识管理工具“想学吗”)
- matlab实验结果图片保存
- 霍尔开关在智能阀门位移器上的应用
- 一文搞懂指针,指针的指针,悬浮指针,野指针
- Oracle ORA-01033: ORACLE initialization or shutdown in progress 错误解决办法(亲测)
- 解决因改变oracle数据库的IP地址引起的“ORA-12541:TNS:无监听程序”
热门文章
- 编程程序 runtime error
- 2019吉林省赛东北四省赛总结
- 仰望星空,脚踏实地——吴燕生
- 渗透测试 ( 10 ) --- 扫描 web目录、文件 (dirb、wfuzz、wpscan、nikto)
- 百度移动统计热力图和事件分析的坑
- WPF基础篇 作者:IT168 静水流深 2008-01-02
- 15、Java基础---继承和访问属性
- java作业中数据分析与设计_Java课程设计——博客作业教学数据分析系统(201521123091 李嘉廉)...
- iWatch开发的真机调试适配攻略
- 什么句型可以 让我说出 悲伤的文法