闰年

判断闰年

程序中多次使用了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 }

在敲打代码之前一定要想清楚,代码的结构,不能上来就是想当然到最后错误百出更是浪费时间。如果可以,可在纸上写出算法,淡淡靠想,大部分时候都是远远不够的。

posted on 2013-08-17 01:45  Flying_fd  阅读(195)  评论(0)    收藏  举报