要求是给出一个 int [] arr,求出这个数组中所有数的平均数。
不加考虑的话,可以这样写:
int Average(int[] arr)
{
int sum = 0;
foreach(int i in arr)
{
sum += i;
}
return sum / arr.length;
}
然而,这样的解法是错误的,因为sum在累加的过程中有可能溢出。如果换用浮点数,表示的范围是比较大,但似乎精度会有损失。
大家有什么好的办法没?
不加考虑的话,可以这样写:
int Average(int[] arr)
{
int sum = 0;
foreach(int i in arr)
{
sum += i;
}
return sum / arr.length;
}
然而,这样的解法是错误的,因为sum在累加的过程中有可能溢出。如果换用浮点数,表示的范围是比较大,但似乎精度会有损失。
大家有什么好的办法没?
浙公网安备 33010602011771号