Heim  >  Artikel  >  php教程  >  用php实现评委评分器

用php实现评委评分器

PHP中文网
PHP中文网Original
2016-05-23 17:09:361565Durchsuche

用选择排序法第一步从输入的数组中找到最高分和最低分,然后去掉一个最高分和一个最低分,得出选手的平均分。

<?php
function fairScore(&$arr)
{  //选择排序法的第一步,这里只需要找到这个数组中的最大值和最小值即可,没必要对整个数组排序
    $minVal = $arr[0];
    $minIndex = 0;
    $maxVal = $arr[0];
    $maxIndex = 0;
    $sum = 0;
    for ($i=1;$i<count($arr);$i++)
    {
        if ($arr[$i]<$minVal)
        {
            $minVal = $arr[$i];;
            $minIndex = $i;
        }
        if ($arr[$i]>$maxVal)
        {
            $maxVal = $arr[$i];
            $maxIndex = $i;
        }
    }
    echo "最高分是:".$maxVal."  最低分是:".$minVal."<br/>";
    for ($i=0;$i<count($arr);$i++)
    {
        $sum +=$arr[$i];
    }
    $sum -=($minVal+$maxVal);
    echo "一共有".count($arr)."个评委,去掉最高分和最低分后的平均分是".$sum/(count($arr)-2);
}
 
$score = @$_REQUEST[&#39;score&#39;];//第一次打开页面时会因为没有输入数据,所以没法提交。
这里加@是为了去除浏览器notice警告
$aScore = explode(" ",$score);
 
?>
 
<html>
<head>
<title>去掉最高分和最低分后的平均分</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
</head>
 
<body>
<form action ="fairScore.php" method="post">
<span>请输入各个评委的打分,中间用空格隔开</span><br/><!--在输入时,每两个数之间只能有一个空格-->
<input type="text" name="score" value="<?php echo $score;?>" /><br/>
<input type="submit" value="提交计算平均成绩"/>
</form>
 
<?php
fairScore($aScore);
?>
</body>
<html>

                       

           

2. [图片] QQ截图20150715233033.png用php实现评委评分器    

1182.png

 以上就是用php实现评委评分器的内容,更多相关内容请关注PHP中文网(www.php.cn)!

                   

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn