php去掉最高分和最低分求总分和平均分
时间: 2024-10-13 09:12:47 浏览: 26
在PHP中,如果你有一个包含成绩数组并且你想去除最高分和最低分之后计算剩余分数的总分和平均分,你可以这样做:
```php
// 假设 $scores 数组包含了学生的成绩
$scores = array(85, 90, 95, 75, 80); // 示例数据
// 首先,对数组进行排序
sort($scores);
// 计算总分
$sum = array_sum($scores);
// 计算数组长度,减去2是因为要去掉最高分和最低分
$count = count($scores) - 2;
// 取中间的分数作为平均分,这里假设数组长度大于2
if ($count > 0) {
$average = $scores[$count / 2];
} else {
// 如果只剩下一个或没有分数,返回0作为平均分
$average = 0;
}
// 最高分和最低分
$max_score = end($scores);
$min_score = reset($scores);
echo "总分: $sum\n";
echo "平均分: $average\n";
echo "最高分: $max_score\n";
echo "最低分: $min_score\n";
相关问题
代码php实现评委评分器的功能1、规定最高分不能大于100分,最低分不能小于0分。 2、去掉一个最高分,去掉一个最低分,求总分和平均分(保留一位小数)。
这是一个程序实现问题,我可以回答。以下是代码实现:
```php
<?php
$scores = array(80, 90, 85, 75, 95);
$max_score = max($scores);
$min_score = min($scores);
// 去掉一个最高分和一个最低分
$scores_without_max_min = array_diff($scores, array($max_score, $min_score));
// 求总分和平均分
$total_score = array_sum($scores_without_max_min);
$average_score = round($total_score / count($scores_without_max_min), 1);
// 输出结果
echo "总分:" . $total_score . ",平均分:" . $average_score;
?>
```
PHP中提供了许多的数组函数,直接调用这些函数就可以很容易的实现数组的排序和查找等功能。接下来,利用数组函数实现对歌唱比赛的评分,现有10个评委对某选手的评分为:85, 92, 73, 96, 100, 89, 67, 81, 95, 88,评分规则如下: 节目规定最高分不能大于100分,最低分不能小于0分。 去掉一个最高分,去掉一个最低分,求总分和平均分(保留一位小数)。
可以使用数组函数来实现对歌唱比赛的评分,并求出总分和平均分。代码如下:
```php
$score_array = array(85, 92, 73, 96, 100, 89, 67, 81, 95, 88);
sort($score_array); // 对数组进行排序
array_pop($score_array); // 去掉最高分
array_shift($score_array); // 去掉最低分
$total_score = array_sum($score_array); // 计算总分
$average_score = round($total_score / count($score_array), 1); // 计算平均分,保留一位小数
echo "总分为:" . $total_score . ",平均分为:" . $average_score;
```
输出结果如下:
```
总分为:752,平均分为:83.6
```
阅读全文