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

输入10条以上数据时class interval仅输出一行?while循环问题排查

问题分析与修复方案

你的代码存在三个关键问题,导致仅输出第一个区间就停止运行:

1. 循环变量未更新

每次循环后没有让num增加区间长度interval,导致num始终等于初始的min值,循环无法推进到下一个区间。必须在循环末尾添加num += interval;来更新循环变量,让程序生成后续区间。

2. 条件判断使用赋值而非比较

if (num=max)是赋值操作(把max的值赋给num),不是判断相等的逻辑,正确写法应为if (num == max)。不过这个判断完全可以去掉——因为循环条件num <= max已经能控制循环的结束时机。

3. 输出格式不符合预期

你需要的是50-60这类连续区间格式,当前代码的输出是拆分的数值,需要调整输出语句,将两个边界值用-连接。

修复后的代码示例

num = min;
while (num <= max) {
    // 输出符合要求的区间格式
    cout << num << "-" << num + interval << endl;
    // 更新循环变量,推进到下一个区间
    num += interval;
}

额外说明

如果你的区间逻辑是左闭右闭(比如50-59),可以保持你原来的边界计算逻辑,把输出语句改成:

cout << num << "-" << (num-1) + interval << endl;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 02:02:20