グレゴリオ暦では、現在以下の規則になっています。
(1) 西暦の年が 4 で割り切れる年は原則として「うるう年」
(2) ただし、100で割り切れたら「平年」とする
(3) しかし、400で割り切れるなら「うるう年」とする
(参考 : 国立天文台のページ)
【 うるう年判定のプログラム例( C言語版 ) 】
#include <stdio.h> #include <stdlib.h> main() { int year; printf( "うるう年判定:西暦年は> " ); if( scanf( "%d", &year ) != 1 ) exit( 1 ); if( year % 4 == 0 && year % 100 != 0 || year % 400 == 0 ) { printf( "%d年はうるう年です\n", year ); } else { printf( "%d年は平年です\n", year ); } } |
if( year % 4 == 0 && year % 100 != 0 || year % 400 == 0 )なぜだろう? と思った方は、勉強になるので考えてみるとよいと思います。