早教吧 育儿知识 作业答案 考试题库 百科 知识分享

PHP数组计算平均值和倍数值问题.一个不固定长度数组如下:array=([0]=>1.50[1]=>1.00[2]=>2.50[3]=>0.由于积分不够了。我还有另外一个比较伤脑筋的问题如下:一个不固定长度数组如下:array=([0]=

题目详情
PHP数组计算平均值和倍数值问题. 一个不固定长度数组如下: array=([0]=>1.50 [1]=>1.00 [2]=>2.50 [3]=>0.
由于积分不够了。我还有另外一个比较伤脑筋的问题如下:
一个不固定长度数组如下:
array=([0]=>1.50 [1]=>1.00 [2]=>2.50 [3]=>0.05 [4]=>0.04 [5]=>0.08 [6]=>1.00 [7]=>0.04
[8]=>8.00 [9]=>1.00[10]=>0.02[11]=>18.00[12]=>23.00[13]=>5.00[14]=>0.04)
问题1) 请计算他们和值,平均值,去掉n个最大数后的平均值.以及去n个最小数后的平均值.(n和值:
平均值:
去掉n个最大数后的平均值:
去n个最小数后的平均值:
去n个最小数和n个最大数后的平均值:
问题2) 假设上面的大部分数是表示单价。但其中一些数明显是单价乘以量后的价格。比如“23.00”可能是0.023x1000个的价格,"5.00" 可能是0.05乘100个量的价格.如何判断这些由“倍数”产生的“偏大数”(相对其他较小数,明显具有除10,100,1000的特点).
如果这些"偏大数"具有以上规律(即10,100,1000三种倍数关系),这把些"偏大数"还原为单价,并把处理结果重新计算一次问题1中的所有平均价格。
和值:
平均值:
去掉n个最大数后的平均值:
去n个最小数后的平均值:
去n个最小数和n个最大数后的平均值:
▼优质解答
答案和解析
//计算平均数
function mean($array){
$sum = 0;
foreach($array as $value){
$sum += $value;
}
$lenght = count($array);
$mean = $sum/$lenght;
return $mean;
}
//去掉n个最大数后的平均数
function max_mean($array, $n){
rsort($array);
for($i=0; $i unset($array[$i]);
}
$max_mean = mean($array);
return $max_mean;
}
//去掉n个最小数后的平均数
function min_mean($array, $n){
sort($array);
for($i=0; $i unset($array[$i]);
}
$min_mean = mean($array);
return $min_mean;
}
//去掉n个最大数,m个最小数后的平均数
function max_min_mean($array, $n, $m){
rsort($array);
for($i=0; $i unset($array[$i]);
}

sort($array);
for($i=0; $i unset($array[$i]);
}

$max_min_mean = mean($array);
return $max_min_mean;
}