Menu
CoddyTech

计算学生平均分

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

challenge icon

挑战

简单

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

读取两个输入,将 JSON 字符串转换为成绩册数组,找到指定的学生,计算其平均成绩,并输出结果,四舍五入到小数点后 2 位。

计算平均成绩的方法:将学生成绩数组中的所有成绩相加,再除以成绩数量。

输入格式:

  • 第一行:表示现有成绩册的 JSON 对象(示例:{"Alice":{"id":101,"grades":[85,92,78]},"Bob":{"id":102,"grades":[90,88,95]},"Charlie":{"id":103,"grades":[76,84,89]}})
  • 第二行:学生的姓名(示例:Alice)

预期输出:使用 round($average, 2) 将学生的平均成绩四舍五入后直接输出,因此会省略末尾的零(示例:85、88.4、76.25)

亲手试试

<?php
// 读取成绩册的 JSON 字符串
$gradebookJson = fgets(STDIN);
// 读取学生姓名
$studentName = trim(fgets(STDIN));

// 将 JSON 转换为数组
$gradebook = (array)json_decode($gradebookJson, true);

// TODO:在下方编写你的代码
// 找到该学生,计算其平均成绩,并保留 2 位小数


// 输出结果
echo $average;
?>

逻辑与流程中的所有课

自己练习: PHP 在线编译器