返回 课程

信奥AC之路-1级

0% 完成
0/0 步骤
  1. 第1课 开发环境与基础输出
    5 主题|小节
  2. 第2课 算术运算符
    7 主题|小节
  3. 第3课 printf与运算输出
    7 主题|小节
  4. 第4课 数的进制与拆位
    6 主题|小节
  5. 第5课 变量与基础运算
    17 主题|小节
  6. 第6课 常量与取整运算
    8 主题|小节
  7. 第7课 关系运算
    8 主题|小节
  8. 第8课 逻辑运算
    9 主题|小节
  9. 第9课 输入与计算进阶
    10 主题|小节
  10. 第10课 if语句及双分支语句
    8 主题|小节
  11. 第11课 if语句及双分支进阶
    11 主题|小节
  12. 第12课 三目运算
    9 主题|小节
  13. 第13课 多分支、多if和switch语句
    11 主题|小节
  14. 第14课 循环(基本输出)
    7 主题|小节
  15. 第15课 循环(While+If)
    8 主题|小节
  16. 第16课 循环(计数、求和、求乘积)
    10 主题|小节
  17. 第17课 循环进阶(While+)
    8 主题|小节
  18. 第18课 do-while及while其他用法
    8 主题|小节
  19. 第19课 For循环基础
    9 主题|小节
  20. 第20课 For循环进阶
    8 主题|小节
课 11, 主题|小节 5
进行中

11.4 复杂条件判断

2025年9月22日
课 进展
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;
}

思考

  1. 所有方法都使用了复合条件表达式判断闰年
  2. 运算符优先级很重要,确保”与”运算在”或”运算之前执行
  3. 方法一使用变量存储结果,适合需要多处使用结果的情况
  4. 方法二使用提前返回,简化代码结构
  5. 方法三使用if-else结构,逻辑最清晰