Menu
CoddyTech

Расчет среднего балла студента

Часть раздела Логика и управление потоком путешествия по PHP на Coddy. Урок 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