学生の平均点の計算
CoddyのPHPジャーニー「論理とフロー」セクションの一部 — レッスン 36/68。
チャレンジ
簡単2つの入力(既存の学生の成績表を表すJSONオブジェクトと、学生の名前)を受け取ります。成績表は学生の名前をキーとして使用し、各学生は "id" とテストのスコアを含む "grades" 配列を持っています。
両方の入力を読み込み、JSON文字列を成績表の配列に変換し、指定された学生を特定して平均点を計算し、その結果を小数点以下2桁に丸めて出力してください。
平均を計算するには、学生の grades 配列内のすべての成績を合計し、成績の数で割ります。
入力形式:
- 1行目:既存の成績表を表すJSONオブジェクト(例:
{"Alice":{"id":101,"grades":[85,92,78]},"Bob":{"id":102,"grades":[90,88,95]},"Charlie":{"id":103,"grades":[76,84,89]}}) - 2行目:学生の名前(例:
Alice)
期待される出力: 小数点以下2桁に丸められた学生の平均点(例: 85.00)
自分で試してみよう
<?php
// 成績表のJSON文字列を読み込む
$gradebookJson = fgets(STDIN);
// 生徒の名前を読み込む
$studentName = trim(fgets(STDIN));
// JSONを配列に変換する
$gradebook = (array)json_decode($gradebookJson, true);
// TODO: 以下にコードを記述してください
// 生徒を見つけ、平均点を計算し、小数点第2位で四捨五入します
// 結果を出力する
echo $average;
?>