# include<stdio.h>
void main()
{
int n;
do
{
scanf("%d",&n);
if((n%4==0)&&(n%100!=0))
printf("是\n");
if(n%400==0)
printf("是\n");
else
printf("不是\n");
}while(1);
}
結果
輸入2000出個 是 但輸入2012怎麼會有兩個結果??大家解決時不要更改程序,我想知道原因!!!!!
輸入數字後程序先執行第一個if,第一個if執行完後又執行第二個if,因為2000不符合第一個if條件,所以沒有輸出,第二個if符合才輸出“是”;而2012先是符合第一個if,輸出“是”,然後執行第二個if,沒有符合條件,於是執行else,輸出“不是”