/* 判斷閏年 使用 if else if,不使用巢狀if */ #include #include int main() { //宣告變數 int year; //輸入西元年份(4位數字(提示文字) printf("請輸入西元年份(4位數字):"); scanf("%d",&year); printf ("\n\n=== 第 2種寫法:4 種狀況 ===\n"); /* 使用 if else if ,判斷400整除(閏),年份為100的倍數(平),4整除(閏),其它(平) */ if(year % 400 ==0) //400整除 printf ("西元%d 是閏年\n",year); else if (year % 100 ==0) //年份為100的倍數 printf ("西元%d 不是閏年\n",year); else if (year % 4 ==0) printf ("西元%d 是閏年\n",year); else printf ("西元%d 不是閏年\n",year); printf ("\n\n=== 第 3種寫法:兩 種狀況 ===\n"); int rem4, rem100, rem400; rem400 = year % 400; //先算出 3個餘數 rem100 = year % 100; rem4 = year % 4; if ( (rem400 == 0) || (rem100 != 0 && rem4 == 0) ) // (整除 400) 或 (不整除 100 且 整除 4) printf("西元%d 是閏年 \n", year); else printf("西元%d 不是閏年 \n", year); system("PAUSE"); return 0; }