Menu
CoddyTech

Tìm học sinh có điểm cao nhất

Thuộc phần Logic và luồng chương trình trong hành trình PHP của Coddy. Bài học 37 trên 68.

challenge icon

Thử thách

Dễ

Bạn sẽ nhận một đầu vào: một đối tượng JSON đại diện cho sổ điểm của học sinh. Sổ điểm dùng tên học sinh làm khóa, mỗi học sinh có một "id" và một mảng "grades" chứa điểm kiểm tra.

Đọc đầu vào, chuyển chuỗi JSON thành mảng sổ điểm, tìm học sinh có điểm trung bình cao nhất và in tên học sinh đó.

Để tìm học sinh đứng đầu: tính điểm trung bình của từng học sinh bằng cách cộng các điểm rồi chia cho số điểm, sau đó xác định học sinh có điểm trung bình cao nhất.

Định dạng đầu vào: Một dòng chứa đối tượng JSON đại diện cho sổ điểm (ví dụ: {"Alice":{"id":101,"grades":[85,92,78]},"Bob":{"id":102,"grades":[90,88,95]},"Charlie":{"id":103,"grades":[76,84,89]}})

Đầu ra mong đợi: Tên học sinh có điểm trung bình cao nhất (ví dụ: Bob)

Tự làm thử

<?php
// Đọc đầu vào JSON
$input = fgets(STDIN);

// Chuyển JSON thành mảng
$gradebook = (array)json_decode($input, true);

// TODO: Viết code bên dưới
// Tính điểm trung bình của từng học sinh
// Tìm học sinh có điểm trung bình cao nhất


// In ra tên của học sinh có điểm trung bình cao nhất
echo $topStudent;
?>

Tất cả bài học trong Logic và luồng chương trình

Tự luyện tập: Trình biên dịch PHP online