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

请求完善C#代码:计算1-100奇数和与2-100偶数和

修正后的C#代码:计算指定范围的奇数和与偶数和

原代码存在的问题

  • 奇偶判断逻辑写在for循环外部,仅会在循环结束后执行一次,无法遍历每个数字进行判断
  • 错误使用了未初始化的数组array,数组长度仅为10且未赋值,直接访问array[i]会导致索引越界
  • 注释掉了关键的奇偶判断条件,无法区分奇偶数字

版本1:固定计算1到100的奇数和、2到100的偶数和

直接实现你需求的固定范围计算,代码更简洁高效:

// 计算1到100的奇数和,以及2到100的偶数和
int oddSum = 0;
int evenSum = 0;

// 遍历1到100的所有奇数(步长设为2,跳过偶数)
for (int i = 1; i <= 100; i += 2)
{
    oddSum += i;
}

// 遍历2到100的所有偶数(步长设为2,跳过奇数)
for (int i = 2; i <= 100; i += 2)
{
    evenSum += i;
}

Console.WriteLine($"1到100的奇数和:{oddSum}");
Console.WriteLine($"2到100的偶数和:{evenSum}");
Console.ReadLine();

版本2:保留用户输入范围的交互版

保留你原代码的交互功能,同时修正逻辑错误:

Console.WriteLine("计算指定范围的奇数和与偶数和");
Console.WriteLine();

// 声明所需变量
string strFromNumber, strToNumber;
int fromNumber, toNumber;
int evenSum = 0, oddSum = 0;

// 获取用户输入的起始数字
Console.Write("请输入起始数字:");
strFromNumber = Console.ReadLine();
fromNumber = Convert.ToInt32(strFromNumber);

// 获取用户输入的结束数字
Console.Write("请输入结束数字:");
strToNumber = Console.ReadLine();
toNumber = Convert.ToInt32(strToNumber);

// 遍历范围,逐个判断奇偶并累加
for (int i = fromNumber; i <= toNumber; i++)
{
    if (i % 2 == 0)
    {
        evenSum += i;
    }
    else
    {
        oddSum += i;
    }
}

Console.WriteLine($"从{fromNumber}到{toNumber}的奇数和:{oddSum}");
Console.WriteLine($"从{fromNumber}到{toNumber}的偶数和:{evenSum}");
Console.ReadLine();

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 19:40:34