Menu
CoddyTech

查找成绩最高的学生

本课属于 Coddy PHP 学习旅程的“逻辑与流程”单元。第 37 课,共 68 课。

challenge icon

挑战

简单

你会收到一个输入:表示学生成绩册的 JSON 对象。成绩册使用学生姓名作为键,每个学生都有一个 "id" 和一个包含其考试分数的 "grades" 数组。

读取输入,将 JSON 字符串转换为成绩册数组,找出平均成绩最高的学生,并输出该学生的姓名。

要找出成绩最高的学生:将每个学生的成绩相加,再除以成绩数量,计算出平均成绩,然后确定哪位学生的平均成绩最高。

输入格式:一行,包含一个表示成绩册的 JSON 对象(示例:{"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;
?>

逻辑与流程中的所有课

自己练习: PHP 在线编译器