• 技术文章 >后端开发 >php教程

    php实现评委算分器

    *文*文2017-12-27 13:58:51原创1277

    php如何实现评委算分器?本文主要介绍了如何使用php实现评委评分器,从输入的评委分数数组中去掉最高分和最低分,算出平均分。希望对大家有所帮助。

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

    1. 实现代码

    <?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['score'];//第一次打开页面时会因为没有输入数据,所以没法提交。这里加@是为了去除浏览器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. 运行效果图

    相关推荐:

    关于php 数组函数的一些介绍

    php 数组函数总结

    php 数组函数实例

    以上就是php实现评委算分器的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php 评委 实现
    上一篇:PHP之正则表达式捕获组与非捕获组的详解 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 一文详解PHP实现职责链设计模式(附代码示例)• php实现通过JSON RPC与go通讯(附代码)• 浅析怎么使用PHP做异步爬取数据• PHP8.3要有新函数了!(json_validate函数说明)• 设计API接口时,要注意这些地方!
    1/1

    PHP中文网