プログラミングチャレンジ:学生スコア計算式
問題:
- 学生の最終成績を次の5の倍数にする。
- 最終成績が40以下の場合は不合格。
- 満点は100点。
- 最終成績と元の成績の差が3以下の場合は元の成績を最終成績にする。
Sample Input
4 73 67 38 33
Sample Output
75 67 40 33
<?php $handle = fopen ("php://stdin", "r"); function roundUpToAny($n,$x=5) { return round(($n+$x/2)/$x)*$x; } function solve($grades){ // Complete this function for($i = 0; $i<count($grades);$i++){ $score = $grades[$i]; if($score >= 38){ $roundscore = roundUpToAny($score); $grades[$i] = (abs($score - $roundscore)<3)?$roundscore:$score; } } return $grades; } fscanf($handle, "%d",$n); $grades = array(); for($grades_i = 0; $grades_i < $n; $grades_i++){ fscanf($handle,"%d",$grades[]); } $result = solve($grades); echo implode("\n", $result)."\n"; ?>