[C/C++] 判斷年份是否閏年

無聊幫同學寫作業,其實這還蠻簡單的,判斷閏年的方法如下

1、可以被4整除但不可以被100整除。 2、可以被400整除。

程式碼如下

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int leap(int year);
int leap(int year)
{  
  if((year%4)==0 && (year%100)!=0 || (year%400) ==0)
  {
    printf ("%d是閏年\n",year);
  }
  else
  {
    printf ("%d不是閏年\n",year);
  } 
}
int main(int argc,char *argv[])
{
  char *p;  
  char year[20];
  printf("請輸入您要查詢的年份『輸入exit離開』: ");
  while(fgets(year, sizeof(year), stdin))
  {
    if ((p = strchr(year, '\n')) != NULL)
      *p = '\0';  
    if(!strcmp("exit", year))
    {
      break;
    }
    leap(atoi(year));   
    printf("請輸入您要查詢的年份『輸入exit離開』: ");
  }

  return 0;
}

See also