例5.5写程序,判断某一年是否闰年。
我们用图5.13来表示判别闰年的算法。以变量leap代表是否闰年的信息。若某年为闰年,则令leap=1;若为非闰年,令leap=0。最后判断leap是否为1(真),若是,则输出“闰年”信息。
据此编写程序如下:
main()

int year,leap;
scanf("%d",&year);
if (year%4==0)
  {if (year%100==0)
{if (year%400==0)
   leap=1;
else leap=0;}
  else
leap=1;}
else
  leap=0;
if (leap)
  printf("%d is ",year);
else
  printf("%d is not ",year);
printf("a leap year.\n");

运行情况如下:
① 1989
1989 is not a leap year.
② 2000
2000 is a leap year.
也可以将程序中第5~13行改写成以下的if语句:
if(year%4!=0)
  leap=0;
else if(year%100!=0)
 leap=1;
else if(year%400!=0)
  leap=0;
else
 leap=1;
也可以用一个逻辑表达式包含所有的闰年条件,将上述if语句用下面的if语句代替:
if((year%4==0 && year%100!=0) || (year%400==0)) leap=1;
else leap=0;