是否是闰年判断函数:BOOL IsLeapYear (int year)

来源:互联网 发布:索福瑞实时数据 编辑:程序博客网 时间:2024/05/16 10:29

是否是闰年判断函数:BOOL IsLeapYear (int year)

 

/*
 按一回归年365天5小时48分45.5秒:
  ①、普通年能被4整除且不能被100整除的为闰年。(如2004年就是闰年,1901年不是闰年)
  ②、世纪年能被400整除的是闰年。(如2000年是闰年,1900年不是闰年)
  ③、对于数值很大的年份,这年如果能整除3200,并且能整除172800则是闰年。
    如172800年是闰年,86400年不是闰年(因为虽然能整除3200,但不能整除172800)(此按一回归年365天5h48'45.5''计算)。
*/

#include <stdio.h>
#include <stdlib.h>

typedef enum
{
 FALSE,
 TRUE
}BOOL;

BOOL IsLeapYear (int year)
{
#if 0
    if ((year % 4) == 0)
 {
        if ((year % 100) == 0)
  {
            if ((year % 400) == 0)
   {
                return TRUE;
            }
   else
   {
                return FALSE;
            }
        }
  else
  {
            return TRUE;
        }
    }
 else
 {
            return FALSE;
    }
#endif 
 if((year%4==0 && year%100!=0) || year%400==0)
 {
  printf ("%d:是闰年!!!!!!!!!!!!!\n",year);
  return TRUE;
 }
 else
 {
  printf ("%d:是平年!!!!!!!!!!!!!\n",year);
  return FALSE;
 }
}

int main (void)
{
 int year=0;
 
 printf ("请输入年份并回车结束: ");
 scanf  ("%d",&year);
 fflush (stdin);

 IsLeapYear(year);

 return 0;
}

 

原创粉丝点击