題目:
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 />';?>