C4-12 · Thống kê theo loại

Xem dạng PDF

Gửi bài giải

Điểm: 1,00
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Tác giả:
Nguồn bài:
Sách "Lập trình cơ sở với Python"
Dạng bài
Ngôn ngữ cho phép
Python

Đề

Đọc điểm của n sinh viên như bài toán xuyên suốt XS-03 (mục 4.7). Với mỗi sinh viên:

  • điểm học phần = 0,4 × điểm quá trình + 0,6 × điểm cuối kỳ, làm tròn 1 chữ số thập phân (như XS-02);
  • xếp loại theo điểm học phần đã làm tròn: A nếu ≥ 8,5; B nếu từ 7,0 đến dưới 8,5; C nếu từ 5,5 đến dưới 7,0; D nếu từ 4,0 đến dưới 5,5; F nếu dưới 4,0.

In số sinh viên của từng loại A, B, C, D, F.

Dữ liệu vào

  • Dòng đầu: số nguyên n là số sinh viên.
  • n dòng tiếp theo, mỗi dòng hai số diem_qt diem_ck cách nhau một dấu cách.

Kết quả

Một dòng gồm năm số nguyên: số sinh viên loại A, B, C, D, F (theo đúng thứ tự đó), cách nhau một dấu cách. Loại không có ai thì in 0.

Ràng buộc

  • 1 ≤ n ≤ 100.
  • 0 ≤ mỗi điểm ≤ 10; mỗi điểm viết dạng số nguyên (10) hoặc có đúng một chữ số thập phân (7.5).

Ví dụ

Dữ liệu vào:

2
8.0 8.8
5.0 3.0

Kết quả:

1 0 0 0 1

Giải thích ví dụ

Sinh viên Điểm chưa làm tròn Làm tròn Loại
1 0,4 × 8,0 + 0,6 × 8,8 = 8,48 8,5 A
2 0,4 × 5,0 + 0,6 × 3,0 = 3,8 3,8 F

Có 1 loại A, 1 loại F, các loại khác 0 → 1 0 0 0 1. Sinh viên 1 là ca biên của sách: nếu xếp loại trước khi làm tròn (8,48 < 8,5) sẽ ra B.

Ghi chú

  • Ca biên thứ hai của sách: 3.9 4.0 → 3,96 → 4,0 → loại D (xếp trước khi làm tròn sẽ ra F).
  • Dùng chuỗi if/elif từ ngưỡng cao xuống thấp; mỗi sinh viên chỉ thuộc một loại.
  • Điểm có phần thập phân: đọc bằng float, không dùng int.

Nguồn trong sách: Bài C4-12, mục 4.10, giáo trình Lập trình cơ sở với Python — TS. Nguyễn Quốc Long · Mức: (***)


Đang tải...