c解决打鱼晒网问题
2016-06-20 17:49
155 查看
------------------------------------------------------------------------------
题目: 渔夫打渔,三天打渔两天晒网,从1990年1月1日从业,给出年月日,这天,是打渔还是晒网。
思路:当你看到这道题,也许也是没有思路,所以先慢慢分析
目标:1.解决那天打鱼还是晒网问题,,,,,你首先得知道这一年过了多少天,这样在就%5,就简单。
2.你解决一年过了多少天,就得先判断这一年过了多少天,再加上你从1990到现在过了多少年,剩余那是最麻烦的平年闰年问题;
3.还得再加一句,你的那个月份,得计算在这一年中你过了多少个月,这样子就可以几号直接一加(平年2月28,闰年2月29,在得判断一次闰年平年)
打鱼还是晒网问题
-------------------------------------------------------------------------------题目: 渔夫打渔,三天打渔两天晒网,从1990年1月1日从业,给出年月日,这天,是打渔还是晒网。
思路:当你看到这道题,也许也是没有思路,所以先慢慢分析
目标:1.解决那天打鱼还是晒网问题,,,,,你首先得知道这一年过了多少天,这样在就%5,就简单。
2.你解决一年过了多少天,就得先判断这一年过了多少天,再加上你从1990到现在过了多少年,剩余那是最麻烦的平年闰年问题;
3.还得再加一句,你的那个月份,得计算在这一年中你过了多少个月,这样子就可以几号直接一加(平年2月28,闰年2月29,在得判断一次闰年平年)
#include<stdio.h> bool leap(int year)//判断是不是闰年 { if((year % 4 == 0 && year % 100 != 0)||(year % 400 ==0)) { return 1; } else { return 0; } } int monthly(int year,int month ,int day)//判断到目前为止过了天数 { int a[11] = {31,28,31,30,31,30,31,31,30,31,30};//一年十二月就变成了一个数组,这个数组是没有十二月份的这么解释,如果12月 //无论十几号,你只要把前11个月的加起来,再加上你十二月过了的天数,就是你的总天数 int rs = 0;//用它来保存天数 if(leap(year)==1) //平年和闰年的二月份不相同 { a[1]= 29; } for(int i =0;i < month-1;i ++)//数组是从0开始,但是你的月份从一月份开始,此时最大为month-1为什么不取month-1 { //你的月份还没过完 rs = rs + a[i] ; } rs= rs +day; return rs; } int amont (int year,int month ,int day)//判断到今年为止,你过了多少年 { int i = 1990; int sum = 0; while(i < year) { if(leap(i)==1 ) { sum = sum + 366; } else { sum = sum + 365; } i ++; } sum = sum +monthly (year,month,day); return sum; } bool fish_net(int year ,int month ,int day)//判断打鱼还是晒网 { int b = 0; b = amont( year,month,day ) % 5;//他是三天打鱼两天晒网,所以就是五天一个轮回 if(b == 0 || b == 4) { return 1; } else { return 0; } } int main () { int y = 1993; int m =3; int d =1; if(y >= 1990) { if(fish_net(y,m ,d)) { printf("晒网\n"); } else if(fish_net(y,m ,d)==0) { printf("打鱼\n"); } } else { printf("还没开业!\n"); } return 0; }ok,代码结束!
相关文章推荐
- 请使用 -Xlint:deprecation 重新编译
- 深入浅出Mybatis系列(七)---mapper映射文件配置之insert、update、delete
- oracle数据迁移快速导入导出:利用sqluldr2导出数据和sqlldr导入数据的方法
- android各种开源库学习网站
- beaglebone black --ubuntu
- Ubuntu镜像下载
- SQL Server数据库大型应用解决方案总结【转】
- 数据库的一些简单实用的语句
- Hibernate SQL查询 addScalar()或addEntity()
- 数据结构——迷宫问题
- Spring MVC全局异常后返回JSON异常数据
- lucene学习笔记
- linux awk命令详解
- 第十四周项目:程序阅读(二)
- 网格计算, 云计算, 集群计算, 分布式计算, 超级计算
- [从头读历史] 第262节 左传 [BC597至BC538]
- 网格计算, 云计算, 集群计算, 分布式计算, 超级计算
- Android 管理自己的Activity
- 请问在android 中两个include相对上下的位置怎麽弄?用below报错
- Web服务器配置