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

C#实现1到n数字转字符串:3/5倍数替换为指定值代码排错

问题定位与修复方案

原有代码存在的问题

  • 数组操作逻辑完全错误:初始化为空数组后,每次循环都直接创建新的长度为1的数组覆盖原有数组,没有将每一轮的元素追加到结果数组中,最终返回的数组仅包含最后一个元素的处理结果
  • 判断顺序错误:没有优先判断同时为3和5倍数的情况,即使满足双倍数条件,也会被前面单独判断3或5倍数的逻辑覆盖结果
  • 字符串拼写错误:需求要求的Darude被写为Deude,Sandstorm被写为Sandstome,双倍数的匹配字符串也存在拼写错误
  • 逻辑运算符使用不规范:判断双倍数条件时使用了按位与&,应该使用逻辑与&&
  • 分支逻辑错误:else仅和最后一个判断双倍数的if绑定,即使满足了3或5的倍数条件,仍会执行else的控制台输出逻辑,且输出内容没有存入结果数组
  • 存在无效代码:循环内有多余的`enter code here`无效标记

修正后的实现代码

static string[] StringArray(int n)
{
    // 初始化指定长度的结果数组
    string[] results = new string[n];
    for (int i = 1; i <= n; i++)
    {
        // 优先判断同时为3和5倍数的情况
        if (i % 3 == 0 && i % 5 == 0)
        {
            results[i - 1] = "Darude StandStorm";
        }
        else if (i % 3 == 0)
        {
            results[i - 1] = "Darude";
        }
        else if (i % 5 == 0)
        {
            results[i - 1] = "Sandstorm";
        }
        else
        {
            results[i - 1] = i.ToString();
        }
    }
    return results;
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 22:39:02