闰年
判断闰年
程序中多次使用了else ... if,如果将其中的判断条件改变顺序可以么?该程序看似简单,但是条件顺序是个重点。如果第一个判断的条件不是year % 4 != 0,若是相反则程序则大打折扣下个判断条件很难去书写,代码将变得非常混乱,这个若是一下想不出来,可以试着写下去,情况将会变得很清晰。以下几个条件顺序也是相同,因为该程序中,每一个条件都是将判断范围减小,而且尽量减少各个范围的包含关系层次数量。
1 #include<stdio.h> 2 void main() 3 {int i; 4 for( i = 1;i < 6;++i) 5 { 6 int year; 7 printf("请输入要判断的年份:\n"); 8 scanf("%d",&year); 9 if(year % 4 != 0) 10 { 11 printf("%d年是非闰年 \n",year); 12 }else if(year % 100 != 0) 13 { 14 printf("%d年是闰年\n",year); 15 }else if(year % 400 == 0) 16 { 17 printf("%d年是闰年\n",year); 18 }else 19 { 20 printf("%d年不是闰年\n",year); 21 } 22 } 23 }
在敲打代码之前一定要想清楚,代码的结构,不能上来就是想当然到最后错误百出更是浪费时间。如果可以,可在纸上写出算法,淡淡靠想,大部分时候都是远远不够的。
浙公网安备 33010602011771号