返回 课程
信奥AC之路-1级
0% 完成
0/0 步骤
-
第1课 开发环境与基础输出5 主题|小节
-
第2课 算术运算符7 主题|小节
-
第3课 printf与运算输出7 主题|小节
-
第4课 数的进制与拆位6 主题|小节
-
第5课 变量与基础运算17 主题|小节
-
第6课 常量与取整运算8 主题|小节
-
第7课 关系运算8 主题|小节
-
第8课 逻辑运算9 主题|小节
-
第9课 输入与计算进阶10 主题|小节
-
第10课 if语句及双分支语句8 主题|小节
-
第11课 if语句及双分支进阶11 主题|小节
-
第12课 三目运算9 主题|小节
-
第13课 多分支、多if和switch语句11 主题|小节
-
第14课 循环(基本输出)7 主题|小节
-
第15课 循环(While+If)8 主题|小节
-
第16课 循环(计数、求和、求乘积)10 主题|小节
-
第17课 循环进阶(While+)8 主题|小节
-
第18课 do-while及while其他用法8 主题|小节
-
第19课 For循环基础9 主题|小节
-
第20课 For循环进阶8 主题|小节
课 进展
0% 完成
11.4.1 闰年判断
“在日期相关的问题中,闰年判断是一个常见任务,”我说道,”它涉及到相对复杂的条件组合。”
实验六:闰年判断
题目描述:输入一个年份,判断是否为闰年,是输出yes,不是输出no。
样例输入:
2000
样例输出:
yes
样例输入:
1900
样例输出:
no
思路分析: 闰年的判断规则:能被400整除的年份是闰年;不能被400整除但能被4整除且不能被100整除的年份也是闰年。在第一个样例中,2000能被400整除,所以是闰年。在第二个样例中,1900能被100整除但不能被400整除,所以不是闰年。
代码实现:
// 方法一:使用字符串变量存储结果
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
string st = "no"; // 默认结果为no
if(n % 400 == 0 || (n % 4 == 0 && n % 100 != 0)) { // 闰年条件
st = "yes"; // 如果是闰年,更新结果为yes
}
cout << st;
return 0;
}
// 方法二:提前返回
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
if(n % 400 == 0 || (n % 4 == 0 && n % 100 != 0)) { // 闰年条件
cout << "yes"; // 如果是闰年,输出yes
return 0; // 结束程序
}
cout << "no"; // 如果不是闰年,输出no
return 0;
}
// 方法三:if-else结构
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
if(n % 400 == 0 || (n % 4 == 0 && n % 100 != 0)) { // 闰年条件
cout << "yes"; // 如果是闰年,输出yes
} else { // 否则(不是闰年)
cout << "no"; // 输出no
}
return 0;
}
思考:
- 所有方法都使用了复合条件表达式判断闰年
- 运算符优先级很重要,确保”与”运算在”或”运算之前执行
- 方法一使用变量存储结果,适合需要多处使用结果的情况
- 方法二使用提前返回,简化代码结构
- 方法三使用if-else结构,逻辑最清晰