目录
1、判断year是闰年的几种代码写法
输出一个年份year,判断year是不是闰年
闰年判断规则:
1.能被4整除并且不能被100整除是闰年;
2.能被400整除是闰年。
1、使用&& 和||
逻辑分析:闰年判断方法有两个,其中有一种方法能够判断 year 是闰年即可得到结果,因此两个方法之间是或者关系,即用 || 连接;在法1中,被4整除和不被100整除需要同时满足才能判断year是否为闰年,因此需要用并且关系,即用&&链接。
代码演示
1 #include <stdio.h>
2 int main()
3 {
4 int year = 0;
5 scanf("%d", &year);
6 if( (year % 4 == 0 && year % 100 != 0)|| (year % 400 == 0))
7 {
8 printf("%d是闰年", year);
9 }
10 return 0;
11 }
2、使用if ...else...
代码演示:
1 #include <stdio.h>
2 int main()
3 {
4 int year = 0;
5 scanf("%d", &year);
6 if (year % 4 == 0 && year % 100 != 0)
7 {
8 printf("%d是闰年", year);
9 }
10 else if (year % 400 == 0)
11 {
12 printf("%d是闰年", year);
13 }
14 return 0;
15 }
3、只用if
1 #include <stdio.h>
2 int main()
3 {
4 int year = 0;
5 scanf("%d", &year);
6 if (year % 4 == 0 )
7 {8 if ( year % 100 != 0)
9 {10 printf("%d是闰年", year);
11 }
12 }13 if (year % 400 == 0)
14 {
15 printf("%d是闰年", year);
16 }
18 }
大家可以根据自己的情况选择想用的方式。
这里小编比较推荐的是第一种方法,从代码行数上来看第一种是最简洁明了的。
2、短路求值
阅读代码,计算代码输出的结果
1 && 并且
1 #include <stdio.h>
2 int main()
3 {
4 int i = 0, a = 0, b = 2, c = 3, d = 4;
5 i = a++ && ++b && d++;
6 printf("a = %d\n b = %d\n c =%d\n d = %d\n", a, b, c, d);
7 return 0;
8 }
代码结果:
分析:
a++:先使用,后加1
因此 a++ && ++b 表达式左边结果为 0 即为假,而&&为真的条件是两边都为真,所以 a++ && ++b表达式为假,根据短路,++b && d++也就不需要计算了。
a++在使用后加1,因此a最终打印结果为1.而 b c d由于没有进行运算,结果不变。
所以,最终结果为 a = 1 、b = 2 、c = 3 、d = 4。
2 || 或者
1 #include <stdio.h>
2 int main()
3 {
4 int i = 0, a = 1, b = 2, c = 3, d = 4;
5 i = a++ || ++b || d++;
6 printf("a = %d\n b = %d\n c =%d\n d = %d\n", a, b, c, d);
7 return 0;
8 }
代码结果:
分析:
a++ || ++b :a = 1 因此a++为真, || 只要有一个为真结果即为真,因此 ++b就不需要计算了。同理,d++也不需要计算了。
因此最终结果为 a = 2、 b = 3、 c = 3、 d = 4。
由于小编是初次讲解题目,可能描述不够清晰,若存在不准确之处,期待各位大佬的指正,感谢!!!
本篇文章到此告一段落,衷心感谢各位的阅读。期待与诸君下次再见!