计算输入数字的最小值,最大值和平均值
有没有一种方法可以在不使用数组的情况下计算所有数字的平均值/最小值/最大值?每秒最多需要计算10,000个数字。
回答:
是,
保留初始化为高值的最小变量,并在看到较低值时对其进行更新。
用最大变量执行相反的操作。
将所有数字相加,然后将总和除以总数即可得到平均值。
以下代码不进行边界检查(例如count> 0,total不会溢出),但是应该可以使您有所了解:
int minimum = // Initialize to large #, in C# would be int.MaxValueint 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