成績最優秀者の特定
CoddyのPHPジャーニー「論理とフロー」セクションの一部 — レッスン 37/68。
チャレンジ
簡単1つの入力を受け取ります。それは学生の成績表を表すJSONオブジェクトです。成績表は学生の名前をキーとして使用し、各学生は"id"とテストのスコアを含む"grades"配列を持っています。
入力を読み込み、JSON文字列を成績表の配列に変換し、平均点が最も高い学生を見つけ、そのトップの学生の名前を出力してください。
トップの学生を見つけるには、各学生の成績の合計を成績の数で割って平均点を計算し、どの学生が最も高い平均点を持っているかを判断します。
入力形式: 成績表を表すJSONオブジェクトを含む1行(例:{"Alice":{"id":101,"grades":[85,92,78]},"Bob":{"id":102,"grades":[90,88,95]},"Charlie":{"id":103,"grades":[76,84,89]}})
期待される出力: 平均点が最も高い学生の名前(例:Bob)
自分で試してみよう
<?php
// JSON入力を読み込む
$input = fgets(STDIN);
// JSONを配列に変換する
$gradebook = (array)json_decode($input, true);
// TODO: 以下にコードを記述してください
// 各学生の平均点を計算する
// 平均点が最も高い学生を見つける
// 成績トップの学生の名前を出力する
echo $topStudent;
?>