C语言 if语句嵌套问题(超重点+附图+高分)

 我来答
大沈他次苹0B
2013-10-12 · TA获得超过7335个赞
知道大有可为答主
回答量:3059
采纳率:100%
帮助的人:179万
展开全部
Q1:①中的if 成立条件:③中的if(year%4==0)成立,并且②中if(year%100==0)成立,并且①中if(year%400==0)成立的 。 请问大神是不是?


--------------------------------------------------------------------------------------------------------------
Q2: ②中if成立的条件:③中if(year%4==0)成立下,并且②中if(year%100==0)成立,请问大神是不是?


如果是的话,为什么②中的if成立的条件下,没有leap=0,而在②中else有leap=1;
这个程序应该是算输入的年份是不是闰年吧,能被4整除且又能不能被100整除 是闰年
能直接被400整除也是闰年,②成立的条件是在能被4整除的前提下又能被100,根据闰年的定义,如果只是能被4整除又能被100整除而不能被400整除那就不是闰年此时leap=0,如果能被4整除也能被100整除又能被400整除那就是闰年,因为定义中只要能被400整除就是闰年,所以此时leap=1

如果添加的话 leap=0应该放在哪里呢?
----------------------------------------------------------------------------------------------------------------------
Q3:③中if成立的条件:只需要③中的if(year%4==0),请问大神是不是?
是,if(year%4==0)是判断闰年的前提,只有能被4整除,才有可能是闰年
为什么①中的if语句成立之后,没有leap=1;而①中的else 却有leap=0 ?
①if成立之后有leap=1。。。。。。还是闰年的定义,①的前提是能被4整除了,也能被100整除了,此时有两种情况,就是看输入的年份是否也能被400整除,是的话leap=1,不是的话leap=0

但是③中的else leap=0;也不对啊, 因为不满足③中的if(year%4==0)的else 也不一定是 leap=0啊???
③中if是大前提,如果不能被4整除那么他就不是闰年。。。。。。
有什么问题可以追问
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式