【题目链接】
ybt 1055:判断闰年
OpenJudge NOI 1.4 17:判断闰年
【题目考点】
1. 闰年定义
- 整百年份中,能被400整除的年份才是闰年
- 非整百年份中,能被4整除的年份是闰年
2. 逻辑表达式
3. if…else嵌套
【解题思路】
设年份为year
- 整百年份,满足
year % 100 == 0
能被400整除的才是闰年,有year % 400 == 0
既然能被400整除,一定可以被100整除,所以只需要保留条件:year % 400 == 0
- 非整百年份,满足
year % 100 != 0
,能被4整除的是闰年,满足year % 4 == 0
,两条件需要同时满足,有year % 100 != 0 && year % 4 == 0
- 两组条件只要满足一组,就可以被判定为闰年,所以将这两组条件用“或”连接,所以有
year % 400 == 0 || year % 100 != 0 && year % 4 == 0
【题解代码】
解法1:使用逻辑表达式
#include<bits/stdc++.h>
using namespace std;
int main()
{
int year;
cin>>year;
if(year % 400 == 0 || year % 100 != 0 && year % 4 == 0)
cout<<"Y";
else
cout<<"N";
return 0;
}
解法2:使用if…else嵌套
#include<bits/stdc++.h>
using namespace std;
int main()
{
int year;
cin>>year;
if(year % 100 == 0)
{
if(year % 400 == 0)
cout<<"Y";
else
cout<<"N";
}
else
{
if(year % 4 == 0)
cout<<"Y";
else
cout<<"N";
}
return 0;
}