黑马程序员技术交流社区

标题: 基础测试第十题,有歧义,求管理解释 [打印本页]

作者: 易孟飞    时间: 2014-10-5 13:21
标题: 基础测试第十题,有歧义,求管理解释
第十题中又个重要步骤是判断闰年;但是判断闰年有两种不同的方式,请看下面的描述:
1,大众知道的方式:用年份除以4,若除尽,则为闰年,结束;
2,标准的判断方式:
(1)用年份除以400,若除尽,则为闰年(结束),否则转第二歩。
(2)再用年份除100,若除尽,则为平年(结束),否则转第三歩。
(3)再用年份除4,若除尽,则为闰年,否则为平年,(结束)
我想知道,在这个题目中我该用哪个算法判断呢,求管理解释
作者: 易孟飞    时间: 2014-10-5 13:50
自己顶一下,求结束
作者: lyan    时间: 2014-10-5 14:08
写两个函数,让用户输入”年份“+“大众”或“年份”+“标准”,根据用户的输入选择走哪个方法。。
我是这么想的。。嘿嘿,你就替我试试水,偶还没做{:3_51:}
作者: alpha.huai    时间: 2014-10-5 14:23
能被400整除 或 能被100并4整除的 是闰年,否则是平年。
作者: 易孟飞    时间: 2014-10-5 14:45
题目不难,只是有歧义,当然如果按标准的闰年判断,稍微有点复杂
作者: 易孟飞    时间: 2014-10-5 15:05
alpha.huai 发表于 2014-10-5 14:23
能被400整除 或 能被100并4整除的 是闰年,否则是平年。

我敢打赌,你这句话没人能读懂
作者: 微雨独行    时间: 2014-10-5 15:42
就是用大众方式  其实不要求你做的完美  有自己的完整思路 做出来就是满分
作者: 易孟飞    时间: 2014-10-5 18:03
顶起来,求解释
作者: 王绍明    时间: 2014-10-5 18:16
用第一个,除以4即可判断是不是瑞年
作者: 明天过后1    时间: 2014-10-5 19:55
用第一种判断方式比较直接吧,
0年闰年,非0为平年
return year % 4;
作者: 易孟飞    时间: 2014-10-5 20:31
举个例子,2100年用大众知道方式判断是闰年,但是用标准方式却判断是平年
作者: 易孟飞    时间: 2014-10-5 20:32
明天过后1 发表于 2014-10-5 19:55
用第一种判断方式比较直接吧,
0年闰年,非0为平年
return year % 4;

举个例子,2100年用大众知道方式判断是闰年,但是用标准方式却判断是平年
作者: 我说你是个逗比    时间: 2014-10-5 22:37
这你要去看看闰年和平年是怎么定义的了
作者: 易孟飞    时间: 2014-10-6 01:21
我说你是个逗比 发表于 2014-10-5 22:37
这你要去看看闰年和平年是怎么定义的了

由于闰年的标准判断定义比较复杂,所以才出现了大家熟知的只管除四的判断方式,但是,这是错误的,
作者: chengnuoaini030    时间: 2014-10-6 07:25
太逗了,大众,什么叫大众 我为什么从来没觉得过可以除以4的就是闰年?
作者: 陌生爱人    时间: 2014-10-6 10:42
楼主我以前有和你一样的问题 比如 为什么2000年是闰年 但是为什么1900年就是平年? 如果4年一润 正好25个周期啊
网上给出的解释一大串 简而言之就是因为   4年一闰 多出来的那第366天其实不是整整一天 而是一天差几分钟 然后每隔四百年 这个误差就会多出整整3天  所以 就要把 每个那三个百年的那一天抹掉。  
作者: 易孟飞    时间: 2014-10-6 18:23
lyan 发表于 2014-10-5 14:08
写两个函数,让用户输入”年份“+“大众”或“年份”+“标准”,根据用户的输入选择走哪个方法。。
我是这 ...

决定了,就按你说的办,
作者: 魔法少年十三    时间: 2014-10-6 18:26
易孟飞 发表于 2014-10-6 18:23
决定了,就按你说的办,

谁会说1900年是闰年?明显根据常识来啊,肯定不会错的
作者: 易孟飞    时间: 2014-10-6 19:15
魔法少年十三 发表于 2014-10-6 18:26
谁会说1900年是闰年?明显根据常识来啊,肯定不会错的

1900是平年
作者: 赵志文    时间: 2014-10-6 22:08
能被400整除或者(能被4整除并且不能被100整除)的年份就是闰年    两者只要满足一个就是闰年,都不满足就是平年
作者: Lizzie    时间: 2014-10-9 15:07
第一种只是第二种的一种情况,既然让你写程序解决,那么肯定要用标准方式,这是来考验你的多重判断的。另外 你还可以输出两种结果。例如:输入2100,你的输出结果是:2100不是标准闰年,但是是大众闰年。  不知道这答案会不会被出题老师抽一顿
作者: fangdanjames    时间: 2014-10-9 17:19
感觉这个程序好复杂




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2