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

C#求最大值的第二个for循环逻辑解析求助

解释找最大值的循环逻辑

先把你的代码规整一下,方便查看:

int[] inputNum = new int[4];
for(int i = 0; i < 4; i++)
{
    Console.Write("Enter number: ");
    inputNum[i] = int.Parse(Console.ReadLine());
}

int inputMax = 0;
for(int i2 = 0; i2 < inputNum.Length; i2++)
{
    if(inputNum[i2] > inputMax)
    {
        inputMax = inputNum[i2];
    }
}

Console.WriteLine($"Highest value number: {inputMax}");

第二个循环的运行逻辑

咱们一步一步拆解:

  1. 初始化当前最大值:int inputMax = 0这行先把0当作默认的“当前最大值”。
  2. 遍历数组所有元素:for循环从数组的第一个元素(索引0)开始,依次检查到最后一个元素(索引3),每一轮循环都会取出数组里的一个数。
  3. 比较并更新最大值:
    • 第一轮:拿数组第一个数和inputMax(0)对比,如果这个数比0大,就把inputMax替换成这个数;如果比0小,inputMax保持0不变。
    • 第二轮:拿数组第二个数和当前的inputMax对比,要是这个数更大,就更新inputMax,否则保持原值。
    • 第三、四轮重复同样的操作,把数组里的第三、第四个数分别和当前最大值对比,更大就替换。
  4. 得到最终结果:等所有元素都对比完,inputMax里存的就是整个数组里的最大值了。

小补充

这个代码有个小问题:如果输入的4个数全是负数(比如-1、-2、-3、-4),最后输出的最大值会是0,而不是实际最大的-1。要是想修复这个bug,可以把inputMax的初始值改成数组的第一个元素,也就是int inputMax = inputNum[0],这样就不会出错了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 10:27:24