Menu
CoddyTech

Tính điểm trung bình của học sinh

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 36 trên 68.

challenge icon

Thử thách

Dễ

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

Đọc cả hai đầu vào, chuyển chuỗi JSON thành mảng sổ điểm, tìm học sinh được chỉ định, tính điểm trung bình và in kết quả sau khi làm tròn đến 2 chữ số thập phân.

Để tính điểm trung bình: cộng tất cả điểm trong mảng grades của học sinh rồi chia cho số điểm.

Định dạng đầu vào:

  • Dòng đầu tiên: Một đối tượng JSON biểu diễn sổ điểm hiện có (ví dụ: {"Alice":{"id":101,"grades":[85,92,78]},"Bob":{"id":102,"grades":[90,88,95]},"Charlie":{"id":103,"grades":[76,84,89]}})
  • Dòng thứ hai: Tên của học sinh (ví dụ: Alice)

Đầu ra mong đợi: Điểm trung bình của học sinh sau khi làm tròn bằng round($average, 2) và được in nguyên trạng, vì vậy các số 0 ở cuối sẽ bị lược bỏ (ví dụ: 85, 88.4, 76.25)

Tự làm thử

<?php
// Đọc chuỗi JSON chứa bảng điểm
$gradebookJson = fgets(STDIN);
// Đọc tên học sinh
$studentName = trim(fgets(STDIN));

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

// TODO: Viết code của bạn bên dưới
// Tìm học sinh, tính điểm trung bình và làm tròn đến 2 chữ số thập phân


// In ra kết quả
echo $average;
?>

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