怎么用while循环和continue语法,算出1901年至2023年之间有多少个闰年?

怎么用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;
}

解释:

  • year初始化为1901,cnt初始值为0,表示从1901年开始统计闰年数量。
  • 使用while循环,判断年份是否满足闰年的定义。
  • 如果是闰年,cnt+1。
  • 每次循环结束,year+1。
  • 使用continue语法,即使满足闰年条件也直接跳到循环的下一轮,避免了多层嵌套判断的复杂性。
  • 最后输出cnt的值,即1901年至2023年之间闰年数量。
不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 以下回答来自chatgpt:

    解决方案:

    这个问题可以使用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 个闰年
    

    这段代码的实现逻辑如下:

    1. 定义起始年份和计数器,起始年份为1901,计数器为0,用于记录闰年数量。
    2. 进入while循环,当年份小于等于2023时循环执行。
    3. 判断当前年份是否是闰年。如果不能被4整除,则不是闰年,继续循环;如果能被4整除但不能被100整除,则是闰年,闰年数量+1;如果能被4和100整除但能被400整除,则也是闰年,闰年数量+1。
    4. 循环完毕后,输出计数器中记录的闰年数量。

    注意事项:

    1. 判断是否是闰年的部分需要注意先后顺序和每个条件的边界,否则会出现计数错误或者漏掉某些年份的情况。
    2. 循环部分的年份要及时进行自增操作,否则会陷入死循环。

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^