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


Posted in PHP onJuly 31, 2015

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

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 中的类
Oct 09 PHP
mysql_num_rows VS COUNT 效率问题分析
Apr 23 PHP
浅析PHP递归函数返回值使用方法
Feb 18 PHP
PHP多例模式介绍
Jun 24 PHP
PHP常见漏洞攻击分析
Feb 21 PHP
php实现按天数、星期、月份查询的搜索框
May 02 PHP
PHP+Jquery与ajax相结合实现下拉淡出瀑布流效果【无需插件】
May 06 PHP
golang与PHP输出excel示例
Jul 22 PHP
Yii2 hasOne(), hasMany() 实现三表关联的方法(两种)
Feb 15 PHP
redirect_uri参数错误的解决方法(必看)
Feb 16 PHP
php实现的rc4加密解密类定义与用法示例
Aug 16 PHP
laravel withCount 统计关联数量的方法
Oct 10 PHP
php给图片加文字水印
Jul 31 #PHP
初识通用数据库操作类――前端easyui-datagrid,form(php)
Jul 31 #PHP
使用Appcan客户端自动更新PHP版本号(全)
Jul 31 #PHP
php使用Imagick生成图片的方法
Jul 31 #PHP
如何使用Gitblog和Markdown建自己的博客
Jul 31 #PHP
php自定义类fsocket模拟post或get请求的方法
Jul 31 #PHP
详解Grunt插件之LiveReload实现页面自动刷新(两种方案)
Jul 31 #PHP
You might like
php中stream(流)的用法
2014/03/25 PHP
PHP使用CURL实现多线程抓取网页
2015/04/30 PHP
PHP的关于变量和日期处理的一些面试题目整理
2015/08/10 PHP
PHP会员找回密码功能的简单实现
2016/09/05 PHP
Mac系统完美安装PHP7详细教程
2017/06/06 PHP
用ADODB.Stream转换
2007/01/22 Javascript
基于Jquery的文字滚动跑马灯插件(一个页面多个滚动区)
2010/07/26 Javascript
JS图片预加载 JS实现图片预加载应用
2012/12/03 Javascript
JS+CSS实现一个气泡提示框
2013/08/18 Javascript
14个有用的Jquery技巧分享
2015/01/08 Javascript
基于jQuery实现简单的折叠菜单效果
2015/11/23 Javascript
jQuery代码实现表格中点击相应行变色功能
2016/05/09 Javascript
JavaScript面试题(指针、帽子和女朋友)
2016/11/23 Javascript
Angular中使用$watch监听object属性值的变化(详解)
2017/04/24 Javascript
利用Vue-draggable组件实现Vue项目中表格内容的拖拽排序
2019/06/07 Javascript
微信小程序全局变量改变监听的实现方法
2019/07/15 Javascript
微信小程序实现pdf、word等格式文件上传的方法
2019/09/10 Javascript
解决vue无法侦听数组及对象属性的变化问题
2020/07/17 Javascript
Vue 组件复用多次自定义参数操作
2020/07/27 Javascript
Python中使用装饰器和元编程实现结构体类实例
2015/01/28 Python
Python基本语法经典教程
2016/03/11 Python
python处理大日志文件
2019/07/23 Python
Python生成器传参数及返回值原理解析
2020/07/22 Python
Python hashlib模块的使用示例
2020/10/09 Python
Python实现Kerberos用户的增删改查操作
2020/12/14 Python
python实现不同数据库间数据同步功能
2021/02/25 Python
在对linux系统分区进行格式化时需要对磁盘簇(或i节点密度)的大小进行选择,请说明选择的原则
2012/01/13 面试题
解释一下钝化(Swap out)
2016/12/26 面试题
Java的类与C++的类有什么不同
2014/01/18 面试题
中国好声音广告词
2014/03/18 职场文书
2014年圣诞节寄语
2014/12/08 职场文书
就业意向协议书
2015/01/29 职场文书
品质保证书格式
2015/02/28 职场文书
上级领导检查欢迎词
2015/09/30 职场文书
教你快速开启Apache SkyWalking的自监控
2021/04/25 Servers
Pytorch数据读取之Dataset和DataLoader知识总结
2021/05/23 Python