摘要
本程序使用可变参数函数来计算非零数据集的平均值、方差和中位数。它将输入的数据存储在一个数组中,并使用内置函数和自定义算法来执行计算。
计算平均值、方差、中位数的函数
function calculateStats(...$nums) {
$sum = 0;
$count = 0;
foreach ($nums as $num) {
if ($num != 0) {
$sum += $num;
$count++;
}
}
$avg = $sum / $count;
$var = 0;
foreach ($nums as $num) {
if ($num != 0) {
$var += pow($num - $avg, 2);
}
}
$var /= $count - 1;
$arr = $nums;
sort($arr);
$med = $count % 2 ? $arr[(int)($count / 2)] : ($arr[(int)($count / 2)] + $arr[(int)($count / 2) - 1]) / 2;
return [$avg, $var, $med];
}获取用户输入和打印结果
$nums = explode(' ', readline('输入任意个非0数字,以空格分隔:'));
[$avg, $var, $med] = calculateStats(...$nums);
echo "平均值:{$avg}" . PHP_EOL;
echo "方差:{$var}" . PHP_EOL;
echo "中位数:{$med}" . PHP_EOL;总结
这个程序使用可变参数函数和内置库来简化统计计算。通过传递任意数量的非零数字作为参数,用户可以轻松得到数据集的平均值、方差和中位数。