这题的思路是判断一个数是否为闰年;当然,题目里已经给你判断方法了:
普通闰年的年份是 4 的倍数,但不能是 100 的倍数;
世纪闰年的年份是 400 的倍数。
首先我们先定义一个变量y,然后输入进来,接下来写if,判断条件在下面:
普通闰年判断方法如下:
4的倍数:y%4==0;(%是取余数)
不是100的倍数:y%100!=0;(!是逻辑运算符非(不),和等于搭配就是!=不等于)
由于两者关系为且,我们可以使用逻辑运算符&&来解决。
世纪闰年判断方法如下:
是400的倍数:y%400==0;
题里说:
若是闰年,输出 Leap year;
若不是闰年,输出 Common year;
还有,稍微注意一下开头大写;
题里的闰年就包含了普通闰年和世纪闰年,所以无论是什么闰年都是闰年,我们就可以使用逻辑运算符||来解决。
拓展知识:&&是逻辑运算符与,||是逻辑运算符或,&是位运算按位与,意思是先把两个数转成二进制后,从第一位两两对齐开始看,如果两个数位都为1,那结果就是1,其他情况都是0;|是位运算按位或,也要先把两个数转成二进制后,从第一位两两对齐开始看,如果两个数位其中一个是1,那结果就是1,只有两边都是0才为0;
当然,还有其他位运算符,有兴趣的可以自行学习。
废话不多说,下面出示完整代码:
#include <bits/stdc++.h>
using namespace std;
int main(){
int n;
cin>>n;
if(n%4==0&&n%100!=0||n%400==0)cout<<"Leap year";
else cout<<"Common year";
return 0;
}
4302

被折叠的 条评论
为什么被折叠?



