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

C++月份天数查询程序:二月闰年判断逻辑错误求助

修正C++月份天数程序的闰年逻辑错误

原代码存在的问题:

  • 二月的28天判断被错误放到了case 3(三月)分支,逻辑完全错位
  • if(b=0)是赋值操作而非相等判断,应该用==
  • 闰年判断规则不完整:只检查了能被4整除,忽略了整百年需被400整除的规则(比如1900年不是闰年,但原代码会误判)
  • 月份输出对应全错:比如case 5输出四月、case 13对应十二月,索引和月份完全不匹配

修正后的代码:

#include <iostream>
using namespace std;

int main(){
    cout << "What year are you in?" << endl;
    int year = 0;
    cin >> year;

    cout << "Enter an index for one of the 12 months of the year:" << endl;
    int month = 0;
    cin >> month;

    // 完善闰年判断逻辑
    bool isLeapYear = (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);

    switch(month){
        case 1:
            cout << "January is 31 days";
            break;
        case 2:
            if(isLeapYear){
                cout << "February is 29 days";
            } else {
                cout << "February is 28 days";
            }
            break;
        case 3:
            cout << "March is 31 days";
            break;
        case 4:
            cout << "April is 30 days";
            break;
        case 5:
            cout << "May is 31 days";
            break;
        case 6:
            cout << "June is 30 days";
            break;
        case 7:
            cout << "July is 31 days";
            break;
        case 8:
            cout << "August is 31 days";
            break;
        case 9:
            cout << "September is 30 days";
            break;
        case 10:
            cout << "October is 31 days";
            break;
        case 11:
            cout << "November is 30 days";
            break;
        case 12:
            cout << "December is 31 days";
            break;
        default:
            cout << "Not a valid index";
    }  
    return 0;
}

关键修改说明:

  1. 将二月的两种天数判断合并到case 2分支,用if-else清晰区分闰年和平年
  2. 把错误的赋值操作b=0替换为相等判断==,并改用更直观的isLeapYear布尔变量存储闰年结果
  3. 实现完整的闰年规则:能被4整除但不能被100整除,或者能被400整除
  4. 修正所有月份的case对应关系,确保1-12月输出正确的月份名称和天数
  5. 移除无效的case 13,规范月份索引范围为1-12

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 15:40:37