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

C++区间判断程序输入75、100时输出不符合预期问题咨询

问题原因分析
  • 核心错误是所有区间判断错误使用了逻辑或(||),应该改为逻辑与(&&)。逻辑或只要满足其中一个条件整个表达式就为真,比如只要输入数值大于25,第二个else if的number > 25就会成立,后续的区间判断完全不会执行,所有大于25的数都会错误进入「25-50」分支,这就是输入75、100结果不符合预期的直接原因。
  • 第一个分支的number <=25 || number ==0存在冗余,number <=25本身已经包含了等于0的情况,无需额外判断。
  • 原有判断缺少对输入数值是否>=0的校验,负数也会错误进入第一个区间分支。
修正后的完整代码
/* 输入0-100之间的任意整数,程序会判断数字所属的四个区间并输出对应提示 */ 
#include <iostream>
using namespace std;
  
int main()
{
    int number;
      
    cout << "请输入0-100之间的整数\n";
    cin >> number;
    if(number >= 0 && number <= 25)
    {
        cout << "你的数字属于0-25区间\n";
    } 
    else if (number > 25 && number <= 50)
    { 
        cout << "你的数字属于25-50区间\n";
    } 
    else if (number > 50 && number <= 75)
    { 
        cout << "你的数字属于50-75区间\n";
    }
    else if(number >75 && number <= 100)
    {
        cout << "你的数字属于75-100区间\n";
    }
    else
    {
        cout<<"数字不在0-100区间内\n";
    }
    return 0;
}
验证说明

修正后所有区间需要同时满足上下限条件才会进入对应分支:

  • 输入75会命中number >50 && number <=75的条件,输出50-75区间提示
  • 输入100会命中number >75 && number <=100的条件,输出75-100区间提示
  • 负数、大于100的数值会进入兜底分支,输出范围错误提示,完全符合预期功能

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 23:45:02