pwm5712

题目:

1、跳水比赛,8个评委打分,运动员的成绩是8个成绩去掉一个最高分和去掉一个最低分。剩下6个分数的平均分就是最后得分。使用一维数组实现打分功能。

2、并且把最高分和最低分的评委找出来。

解决方案:

第一个页面:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
</head>
<body>
    <h1>请裁判输入分数</h1>
        <form action="result02.php" method="post">
            裁判1<input type="text" name ="one"><br/>
            裁判2<input type="text" name ="two"><br/>
            裁判3<input type="text" name ="three"><br/>
            裁判4<input type="text" name ="four"><br/>
            裁判5<input type="text" name ="five"><br/>
            裁判6<input type="text" name ="six"><br/>
            裁判7<input type="text" name ="seven"><br/>
            裁判8<input type="text" name ="eight"><br/>
            <input type="submit" value = "提交">
        </form>
</body>
</html>

 

第二个页面:result02.php

<?php
    
    //接收数据
        $p1=$_REQUEST[\'one\'];
        $p2=$_REQUEST[\'two\'];
        $p3=$_REQUEST[\'three\'];
        $p4=$_REQUEST[\'four\'];
        $p5=$_REQUEST[\'five\'];
        $p6=$_REQUEST[\'six\'];
        $p7=$_REQUEST[\'seven\'];
        $p8=$_REQUEST[\'eight\'];
        
        //把每个人输入的值 放入到数组中
        $arr = array($p1,$p2,$p3,$p4,$p5,$p6,$p7,$p8);

        //print_r($arr);
        //取出最大和最小的值
        $p_max=max($arr);
        $p_min=min($arr);
        //print_r($arr);
        //echo $p_max,$p_min;
        //echo "<br />";
        //定义变量计算总分
        $total=0;
/*
        for($i=0;$i<count($arr);$i++){
            //echo $arr[$i]."<br />";
            $total+=$arr[$i];        
        }
*/
        foreach($arr as $v){
            
            $total+=$v;
        }
        //echo $total."<br/>";
        //减去最高最低分,最后得分
        //平均分
        //round函数 保留小数位||这是四舍五入法保留3位小数
        $last=($total-max($arr)-min($arr))/(count($arr)-2);
        //$last=($total-max($arr)-min($arr));
        echo \'除去最高分和最低分的最后得分为:\'.($total-max($arr)-min($arr))."<br/>";
        echo \'除去最高分和最低分的最后得分的平均分为:\'.round($last,3)."<br/>";

        //找出最大值和最小值对映的key :array_search函数.
        $max_k=array_search(max($arr),$arr);
        $min_k=array_search(min($arr),$arr);
        echo \'最高分是第\'.($max_k+1).\'评委打\'.max($arr).\'分<br />\';
        echo \'最低分是第\'.($min_k+1).\'评委打\'.min($arr).\'分<br />\';

?>

 

分类:

技术点:

相关文章: