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

如何在while循环中输出用户输入等级及之前所有等级的所需经验

修改C++代码以输出1到指定等级的所有经验要求

原代码的问题在于仅针对输入的单个等级计算经验,且while循环执行一次就通过break终止,没有遍历从1到目标等级的所有层级。以下是修改后的代码,实现需求功能:

#include <iostream>
using namespace std;

int main()
{
    int targetLevel;
    double experience;

    cout << "What levels do you want to know the experience needed for?" << endl;
    cout << endl;
    cin >> targetLevel;

    // 验证输入有效性,仅处理正整数等级
    if (targetLevel <= 0) {
        cout << "Please enter a positive integer level." << endl;
        return 1;
    }

    // 遍历从1到目标等级的所有层级
    for (int level = 1; level <= targetLevel; ++level) {
        experience = 100 * (level - 1) * (level - 1);
        cout << "Level " << level << " requires " << experience << " experience." << endl;
    }

    return 0;
}

关键改动说明:

  • 替换循环逻辑:用for循环替代原有的while循环,从1开始遍历到用户输入的目标等级,逐个计算并输出经验值。
  • 修正变量类型:将等级相关变量改为int类型,因为等级应为整数,避免浮点数带来的不必要问题;新增targetLevel存储用户输入的目标等级,区分遍历用的当前等级变量。
  • 添加输入验证:增加对输入值的判断,若输入非正整数则提示错误并退出,提升代码健壮性。
  • 优化输出格式:移除原输出语句中的多余空格,让输出更符合示例格式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 19:57:43