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

如何计算C#循环生成的指定区间随机数的平均值

随机数平均值计算的两种实现方案

方案1:无需存储全部数值(推荐)

平均值的计算逻辑为总和 / 生成总数,你不需要保存所有生成的随机数,每生成一个就实时累加到总和变量中,循环结束后直接计算即可,内存占用极低,任意循环次数都不会占用固定大小的内存。
修改后代码:

Random rnd = new Random();
const double MAX = 42.0;
const double MIN = 34.5;
double sum = 0;
int totalCount = 100; // 明确指定生成100个随机数,避免边界计数错误
for (int i = 0; i < totalCount; i++)
{
    double num = rnd.NextDouble() * (MAX - MIN) + MIN;
    sum += num;
    Console.WriteLine("{0:f1}", num);
}
double ex4 = sum / totalCount;
Console.WriteLine("the average of the degrees is: {0:f1}", ex4);

方案2:存储全部数值(适用于后续需要复用随机数的场景)

如果你之后还需要对生成的随机数做其他统计(比如求最大值、最小值、方差等),可以用泛型列表存储所有生成的数值,后续可以直接调用内置方法计算平均值。
修改后代码:

Random rnd = new Random();
const double MAX = 42.0;
const double MIN = 34.5;
List<double> numList = new List<double>();
int totalCount = 100;
for (int i = 0; i < totalCount; i++)
{
    double num = rnd.NextDouble() * (MAX - MIN) + MIN;
    numList.Add(num);
    Console.WriteLine("{0:f1}", num);
}
double ex4 = numList.Average();
Console.WriteLine("the average of the degrees is: {0:f1}", ex4);

注意事项

  • 原代码中循环条件为i < 101,实际会生成101个随机数,如果你需要的是100次循环,修改为i < 100即可
  • 方案2中调用的Average()是Linq扩展方法,需要在代码顶部引入using System.Linq;命名空间才能正常使用

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

相关产品推荐
方舟 Agent Plan

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

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