if(year%100==0&&year%400==0||year%4==0&&year%100!=0)i=1;这个是怎么得出来的,求解释

来源:4-17 switch与if语句的应用

qq_孤独的沉默_0

2015-11-13 15:42

if(year%100==0&&year%400==0||year%4==0&&year%100!=0)i=1;这个是怎么得出来的,求解释

写回答 关注

3回答

  • 顾玌
    2015-11-13 20:14:14
    已采纳

    闰年的判断条件:一、年数能被4整除但不能被100整除;二、年数能被400整除。满足以上条件的年数就是闰年,闰年2月比平年多一天,在计算时天数就要多加一天。i=1或i=0以此为判断的标志。

    qq_孤独的...

    非常感谢!

    2015-12-10 12:07:46

    共 1 条回复 >

  • Jerrylinusa
    2015-11-15 17:02:04

    不是说能被400整除才十闰年吗?为什么还是等于0不是该等于1吗?还有后面的感叹号是什么意思?

    顾玌

    等于0还是1并不重要,在于你是怎么设计下面的程序,!=在程序里表示不等于的意思。

    2015-12-15 22:26:26

    共 1 条回复 >

  • qq_孤独的沉默_0
    2015-11-14 14:49:10

    if(year%4==0&&year%100!=0)i=0 这样不行吗,您给看看

    顾玌

    年数能被400整除也是闰年,这样省略不就不包括在里面了。这里的i应该算是一个flag,i=1主要传达这个年是闰年,以便下一步操作。i等于1还是0其实并不重要,只是下面的程序会改动。还有1900年不是闰年,2000年是闰年,所以说能被4整除的年就是闰年是不完全的。闰年的评判条件还是得像上面那样写,比较严谨。

    2015-12-15 22:25:05

    共 1 条回复 >

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926020 学习 · 20793 问题

查看课程

相似问题