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

C#编写学生身高统计程序时最大最小值输出错误如何修复

错误原因

  • 最大、最小值的判断逻辑完全写反:
    原代码里判断max > h时更新max,实际应该是输入身高h大于当前max时才更新max;原代码判断h < max时更新min,实际应该是输入身高h小于当前min时才更新min。
  • 最值初始值设置不合理:当前min、max都初始化为0,虽然身高场景下都是正数不会出大问题,但更通用稳妥的写法是将min初始化为double类型的最大值、max初始化为double类型的最小值,适配任意输入范围的场景。
  • 循环计数器没必要用double类型,改用int即可避免不必要的浮点运算。

修改后的完整代码

Console.Write("Number of students in the group = ");
int n = Convert.ToInt32(Console.ReadLine());

double result = 0;
// 初始化最值:min初始为最大的double值,max初始为最小的double值
double min = double.MaxValue;
double max = double.MinValue;
// 循环变量改用int
for (int i = 0; i < n; i++)
{
    Console.Write("The height of {0} student (in cm):  ", i + 1);
    double h = Convert.ToDouble(Console.ReadLine());
    result += h;
    // 修正判断逻辑
    if (h > max) max = h;
    if (h < min) min = h;
}
double average = result / n;
Console.WriteLine("Average value = " + average);
Console.WriteLine("Maximum value = " + max);
Console.WriteLine("Minimun value = " + min);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 03:36:03