计算输入数字的最小值,最大值和平均值

有没有一种方法可以在不使用数组的情况下计算所有数字的平均值/最小值/最大值?每秒最多需要计算10,000个数字。

回答:

是,

保留初始化为高值的最小变量,并在看到较低值时对其进行更新。

用最大变量执行相反的操作。

将所有数字相加,然后将总和除以总数即可得到平均值。

以下代码不进行边界检查(例如count> 0,total不会溢出),但是应该可以使您有所了解:

int minimum = // Initialize to large #, in C# would be int.MaxValue

int maximum = // Initialize to most negative #, in C# would be int.MinValue

int count = 0;

int total = 0;

void StatsForNewNumber(int number)

{

if (number < minimum) minimum = number;

if (number > maximum) maximum = number;

count++;

total += number;

}

int Average()

{

return total / count;

}

以上是 计算输入数字的最小值,最大值和平均值 的全部内容, 来源链接: utcz.com/qa/401085.html

回到顶部