2 程序的灵魂—算法-2.2 简单算法举例-【例 2.3】

【例 2.3】判定 2000 — 2500 年中的每一年是否闰年,将结果输出。
润年的条件:

1. 能被 4 整除,但不能被 100 整除的年份;
2. 能被 100 整除,又能被 400 整除的年份;
设 y 为被检测的年份,则算法可表示如下:
S1: 2000→y
S2:若 y 不能被 4 整除,则输出 y“不是闰年”,然后转到 S6
S3:若 y 能被 4 整除,不能被 100 整除,则输出 y“是闰年”,然后转到 S6
S4:若 y 能被 100 整除,又能被 400 整除,输出 y“是闰年” 否则输出 y“不是闰年”,
然后转到 S6
S5:输出 y“不是闰年”。
S6:y+1→y
S7:当 y≤2500 时, 返回 S2 继续执行,否则,结束。

在这里插入图片描述

int main() {
    int y = 2000; // S1: 初始化年份为2000

    while (y <= 2500) { // S7: 当y小于等于2500时循环执行
        // S2: 判断能否被4整除
        if (y % 4 != 0) {
            printf("%d不是闰年\n", y); // 输出不是闰年
        } else {
            // S3: 能被4整除,继续判断能否被100整除
            if (y % 100 != 0) {
                printf("%d是闰年\n", y); // 输出是闰年
            } else {
                // S4: 能被100整除,再判断能否被400整除
                if (y % 400 == 0) {
                    printf("%d是闰年\n", y); // 输出是闰年
                } else {
                    printf("%d不是闰年\n", y); // 否则,不是闰年
                }
            }
        }

        y++; // S6: 年份加1,准备检查下一年
    }

    return 0;
}

最近更新

  1. TCP协议是安全的吗?

    2024-06-09 22:20:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-09 22:20:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-09 22:20:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-09 22:20:02       20 阅读

热门阅读

  1. 软设之排序算法对比

    2024-06-09 22:20:02       8 阅读
  2. ghidra

    2024-06-09 22:20:02       9 阅读
  3. P11 品牌管理

    2024-06-09 22:20:02       10 阅读
  4. 爬山算法的详细介绍

    2024-06-09 22:20:02       11 阅读
  5. Flutter 常见报错记录

    2024-06-09 22:20:02       13 阅读
  6. 解决更新Android Studio后下载Gradle超时

    2024-06-09 22:20:02       11 阅读
  7. 给自己Linux搞个『回收站』,防止文件误删除

    2024-06-09 22:20:02       12 阅读