You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何填充存储闰年的数组元素?从1804年生成100个闰年

生成100个闰年数组的实现方案

嘿,我懂你卡在哪了——你已经搭好了代码的基本框架,但还没完成核心的闰年数组填充逻辑对吧?别急,我来给你补全并解释清楚:

首先,按照你的需求:从1804年开始,每隔4年取一个闰年,生成100个元素的数组。这个逻辑其实很直接,我们可以用一个循环来逐个填充数组元素:

#include <iostream> 
using namespace std; 

int main() { 
    // 你原有的变量可以保留,如果后续需要处理出生日期的话
    int month = 0; 
    int day = 0; 
    int year = 0; 
    // 定义存储100个闰年的数组
    int leapyear[100]; 
    // 起始闰年是1804
    int start_year = 1804;

    // 循环填充数组:第i个元素是起始年份加4*i
    for (int i = 0; i < 100; i++) {
        leapyear[i] = start_year + i * 4;
    }

    // 可选:输出数组验证结果
    cout << "生成的100个闰年:" << endl;
    for (int i = 0; i < 100; i++) {
        cout << leapyear[i] << " ";
        // 每10个换行,方便阅读
        if ((i + 1) % 10 == 0) {
            cout << endl;
        }
    }

    // 你原本要写的出生日期输入逻辑可以继续在这里补充
    cout << "\nPlease enter a date of birth in the form..." << endl;
    // 比如后续可以写cin >> year >> month >> day; 之类的逻辑

    return 0; 
}

补充说明:

上面的代码是完全按照你“每隔4年添加一个”的需求来写的,但要注意真实的闰年规则其实更严格:

  • 能被4整除但不能被100整除,或者
  • 能被400整除的年份才是闰年

比如1900年虽然能被4整除,但它是整百年且不能被400整除,所以不是闰年。如果你需要严格符合真实闰年规则的数组,可以调整成下面的逻辑:

#include <iostream> 
using namespace std; 

int main() { 
    int leapyear[100]; 
    int current_year = 1804;
    int count = 0;

    // 循环找够100个符合规则的闰年
    while (count < 100) {
        // 判断是否为真实闰年
        if ((current_year % 4 == 0 && current_year % 100 != 0) || (current_year % 400 == 0)) {
            leapyear[count] = current_year;
            count++;
        }
        current_year++;
    }

    // 输出验证
    cout << "严格符合规则的100个闰年:" << endl;
    for (int i = 0; i < 100; i++) {
        cout << leapyear[i] << " ";
        if ((i + 1) % 10 == 0) {
            cout << endl;
        }
    }

    return 0; 
}

你可以根据自己的实际需求选择对应的版本~

内容的提问来源于stack exchange,提问作者Sergio Gutierrez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 04:19:17