怎么用while循环和continue语法,算出1901年至2023年之间有多少个闰年?
首先 就是 闰年的判断, 能被4整除但不能被100整除,或者能被400整除,这就是闰年
然后就是 年份 从 1901 开始 循环到 2023, 依此判断是否闰年即可
Python 参考如下:
year = 1901
count = 0
def isLeapYear(year):
return (year % 4 == 0 and year % 100 != 0) or year % 400 == 0
while year <= 2023:
if not isLeapYear(year): # 判断是否为闰年
year += 1
continue
else:
count += 1 # 统计闰年数量
year += 1
print("1901年到2023年之间有%d个闰年" % count)
C语言 参考如下:
#include <stdio.h>
int isLeapYear(int year)
{
return (year % 4 == 0 && year % 100 != 0) || year % 400 == 0;
}
int main()
{
int year = 1901;
int count = 0;
while (year <= 2023)
{
if (!isLeapYear(year++)) // 判断是否为闰年
continue;
else
count++;
}
printf("1901年到2023年之间有%d个闰年\n", count);
return 0;
}
计算1901年至2023年之间有多少个闰年可以使用以下程序:
#include<stdio.h>
int main()
{
int year = 1901;
int cnt = 0;
while(year <= 2023){
if(year % 4 == 0){
if(year % 100 != 0 || year % 400 == 0){
cnt++;
}
}
year++;
continue;
}
printf("1901年至2023年之间有%d个闰年\n", cnt);
return 0;
}
解释:
解决方案:
这个问题可以使用Python的while循环和continue语法来实现。首先,我们需要确定闰年的定义:每四年一闰,但每百年不闰,每四百年又闰,所以我们需要在循环中判断每个年份是否是闰年。
代码如下:
year = 1901 # 起始年份
leap_years = 0 # 计数器,记录闰年数量
while year <= 2023:
# 判断是否是闰年
if year % 4 != 0: # 不是4的倍数就不是闰年
pass # 继续while循环
elif year % 100 != 0: # 是4的倍数但不是100的倍数则是闰年
leap_years += 1 # 闰年数量+1
elif year % 400 != 0: # 是100的倍数但不是400的倍数则不是闰年
pass # 继续while循环
else: # 是400的倍数则是闰年
leap_years += 1 # 闰年数量+1
year += 1 # 年份+1
print("1901年至2023年之间有", leap_years, "个闰年")
输出结果为:
1901年至2023年之间有 31 个闰年
这段代码的实现逻辑如下:
注意事项: