当前位置: 首页 > 编程笔记 >

如何使用php实现评委评分器

从劲
2023-03-14
本文向大家介绍如何使用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. 运行效果图

以上就是本文的全部内容,希望大家可以喜欢。

 类似资料:
  • 问题内容: 大家好:)我有一个评分栏,它可以正常工作,但是当用户离开页面时,该评分不会保存。您如何保存用户评分? 这是代码 任何帮助,将不胜感激。 问题答案: 您可以为此使用 SharedPreferences 。 返回应用程序之前,请保存评级,然后从中检索评级并在评级栏中进行设置。 保存值 您可以 检索 类似 的值 其中 的myKey 是 键名 ,通过它可以识别值.. 编辑 像这样更改代码 而当

  • 本文向大家介绍使用jQuery实现星级评分代码分享,包括了使用jQuery实现星级评分代码分享的使用技巧和注意事项,需要的朋友参考一下 前面有一篇原生js实现星级评分 。可能覆盖面不是很广,现在给出一个jquery实现的星级评分。   使用方法超级简单,这里就不多废话了,小伙伴们拿走自由发挥吧。

  • 本文向大家介绍如何使用Python实现自动化水军评论,包括了如何使用Python实现自动化水军评论的使用技巧和注意事项,需要的朋友参考一下 前言 玩博客一个多月了,渐渐发现了一些有意思的事,经常会有人用同样的评论到处刷,不知道是为了加没什么用的积分,还是纯粹为了表达楼主好人。那么问题来了,这种无聊的事情当然最好能够自动化咯,自己也来试了一把,纯属娱乐。 登陆 要评论当然要能够先进行登陆,采用 库进

  • 我正在使用Optaplanner开发一个系统,它类似于示例——会议调度。将一些任务分配给一些机器并确定开始时间。我创建了一个类——TaskAssignment作为规划实体,字段——“机器”和“开始时间谷物”作为规划变量。 但在我的用例中,会议调度中不存在约束,我不知道如何实现。在某些情况下,任务前端可能有准备时间。这意味着,TaskA和TaskB是同一台机器上的连续任务,TaskB在TaskA完成

  • 这是我的评论表结构,在分页查询时,需要查询父级评论并查询文章作者的二级评论。当cid存在时,又需要将该条评论在第一页置顶,如果cid为二级评论时需要将父评论置顶,并将该评论展示出来,我可以一次将该文章下的所有评论查询出来,在代码中遍历分页,可这种操作非常占用内存效率也低。我又不希望关联查询,mongo的复杂查询很麻烦。这个cid存在时,我可以单独的对该条评论做两次查询,然后组装成commentVo

  • 介绍 用于对事物进行评级操作。 引入 import { createApp } from 'vue'; import { Rate } from 'vant'; const app = createApp(); app.use(Rate); 代码演示 基础用法 <van-rate v-model="value" /> export default { data() { retur

  • 使用指南 组件介绍 评分组件,支持自定义评分图案,评分范围等。 引入方式 import { Rate } from "feart"; components:{ 'fe-rate':Rate, } 代码演示 基础用法 使用 icon 组件 <fe-rate v-model="value" /> 不使用 icon 组件 <fe-rate v-model="value" :is-icon=

  • 当鼠标移动到星星上时,星星会暂时地指向鼠标所在的星星;此时移出星星,那么组件会恢复到原有值。只有在星星点击一下,值才会被固定下来,移出时不再恢复。 等级:<span id="level"></span> <div id="rating"></div> <div class="btn-bar"> <button id="disable">disable()</button> <but