输出2010-2020年之间的闰年 函数思想:简化程序、代码复用 将判断一年是否是闰年封装为函数
时间: 2024-03-15 13:46:21 浏览: 67
以下是Python代码实现:
```python
def is_leap_year(year):
# 判断是否是闰年,是返回True,否则返回False
return year % 4 == 0 and year % 100 != 0 or year % 400 == 0
for year in range(2010, 2021):
if is_leap_year(year):
print(year)
```
输出结果为:
```
2012
2016
2020
```
解释:首先定义一个判断是否是闰年的函数is_leap_year,该函数接受一个参数year,返回一个布尔值,True表示是闰年,False表示不是闰年。然后使用一个循环遍历2010-2020年的所有年份,对于每一个年份,调用is_leap_year函数判断是否是闰年,如果是,则输出该年份。通过封装函数,可以使程序更加简洁,并且方便代码复用。
相关问题
根据流程图,编程实现解决不固定次数的循环判断某一年是否是闰年。要求:提交程序代码和运行结果
在Python中,我们可以编写一个简单的函数来判断一个给定的年份是否为闰年,根据规则,闰年的条件是:
- 年份能够被4整除,但不能被100整除。
- 如果年份同时能被400整除,则仍然是闰年。
下面是一个流程图表示的逻辑,并附有对应的Python代码:
```
+-------------+
| 输入:年份 |
+-------------+
| 判断 |
| 1. 是否能被4 |
| | 是 → 结束 |
| | 否 → 2 |
+-------------+
| 2. 是否能被100 |
| | 是 → 继续判断 |
| | 否 → 结束 |
+-------------+
| 3. 是否能被400 |
| | 是 → 是闰年 |
| | 否 → 不是闰年 |
+--+
```
下面是对应的Python代码实现:
```python
def is_leap_year(year):
if year % 4 == 0:
if year % 100 == 0:
if year % 400 == 0:
return True
else:
return False
else:
return True
else:
return False
# 测试示例
year = 2000 # 闰年
print(f"{year} 是闰年: {is_leap_year(year)}")
year = 1900 # 不是闰年
print(f"{year} 不是闰年: {is_leap_year(year)}")
```
运行结果:
```
2000 是闰年: True
1900 不是闰年: False
```
给定程序 c4-2-2.c 的功能是:使用 scanf 函数输入一个年份,判断该年是否为闰年。
c4-2-2.c这个程序的主要功能是实现一个简单的计算机程序,用于检查用户输入的一个年份是否符合闰年的规则。闰年是指能被4整除的年份,但是普通闰年需要满足额外条件:即如果那一年能被100整除,它必须也能被400整除才是闰年。例如,2000年是闰年,因为它能被400整除;而1900年不是闰年,尽管它可以被100整除,但它不能被400整除。
程序通常会包含以下几个步骤:
1. 使用`scanf`函数从用户那里获取输入的年份作为整数。
2. 定义一个条件来检查年份是否可以被4整除,如果没有特殊情况(如上述提到的能被100整除但不能被400整除的情况),那么就是闰年。
3. 如果条件满足,程序会输出相应的提示信息告知用户那是闰年;如果不满足,则表示该年不是闰年。
下面是伪代码形式的大致结构:
```c
#include <stdio.h>
int main() {
int year;
// 输入年份
printf("请输入一个年份:");
scanf("%d", &year);
// 判断闰年
if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {
printf("%d是闰年。\n", year);
} else {
printf("%d不是闰年。\n", year);
}
return 0;
}
```
阅读全文