ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# 【伴随编程】判断闰年 在这一节中,我们要学习如何用 `if... else...` 以及逻辑组合运算对一个年份是否是闰年进行判断。 对于不大于 3000 年的年份,闰年遵循如下规律: * 非整百年,能被 4 整除的为闰年。 * 整百年,能被 400 整除的是闰年。 ``` #include <iostream> using std::cin; using std::cout; using std::endl; int main() { int year; // 从用户处获得一个不大于 3000 的年份 cin >> year; // 在下面完成你的逻辑 return 0; } ``` 请将 ~~~ year % 100 != 0 ~~~ 和 ~~~ year % 4 == 0 ~~~ 两个条件用与关系连接,并写在 if 的条件里。在满足条件时,使用下面的语句输出 `YES`: ``` if(year%100!=0 && year%4==0) { cout<<"YES"; } ``` ~~~ cout << "YES"; ~~~ 接下来,针对下面这种情况 * 整百年,能被 400 整除的是闰年。 我们可以在一个 `else if` 中去完成它的条件;也可以在已经写好的 `if` 的条件中进一步增加这个条件。在这里,我们采用第二种方式,通过“或”关系把 ~~~ year % 400 == 0 ~~~ 加到之前 `if` 已有的条件中。 请注意,当我们的条件中同时出现 `&&` 和 `||` 时,我们会要求大家用圆括号把逻辑组合的先后顺序标记清楚(虽然 `&&` 会先于 `||` 进行逻辑组合,我们依然在这里要求大家养成好习惯,请无论如何把圆括号加上)。 ``` if((year%100!=0 && year%4==0)||year%400==0) { cout<<"YES"; } ``` 除了我们已经在 `if` 中描述的情况,其他年份将不被视为闰年。因此,我们可以再写一个 `else` 语句,并在其中输出 `NO`。 ``` if((year%100!=0 && year%4==0)||year%400==0) { cout<<"YES"; }else{ cout<<"NO"; } ``` 很棒,快让我们来一起点击 **运行**。输入一个不大于 300030003000 的年份,看看我们的程序是不是能正确判断它是否为闰年吧。