编写带可变参数的函数,分别用来计算用户输入的任意个非0数据的平均值、方差、中位数。

PHP中文网用户-9472804
PHP中文网用户-9472804
2024-10-12 120浏览

摘要

本程序使用可变参数函数来计算非零数据集的平均值、方差和中位数。它将输入的数据存储在一个数组中,并使用内置函数和自定义算法来执行计算。

计算平均值、方差、中位数的函数

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;

总结

这个程序使用可变参数函数和内置库来简化统计计算。通过传递任意数量的非零数字作为参数,用户可以轻松得到数据集的平均值、方差和中位数。

php中文网 免责声明:以上内容除特别注明外均来源于网友提问,php中文网回答,权益归原著者所有;