Quản lý danh sách sinh viên


Submit solution

Points: 2
Time limit: 1.0s
Memory limit: 98M

Author:
Problem type

QUẢN LÝ DANH SÁCH SINH VIÊN

Mô tả bài toán

Sử dụng cấu trúc vector hoặc list trong C++ để quản lý danh sách sinh viên. Mỗi sinh viên gồm các thông tin:

  • Họ và tên (string): gồm một hoặc nhiều từ, có thể chứa dấu cách;
  • Tuổi (int);
  • Điểm (double), có giá trị trong đoạn [0, 10].

Hãy viết chương trình thực hiện các yêu cầu sau:

  1. Nhập danh sách sinh viên.
  2. Thống kê theo tuổi: với mỗi độ tuổi xuất hiện trong danh sách, cho biết có bao nhiêu sinh viên ở độ tuổi đó. Các độ tuổi được in theo thứ tự tăng dần.
  3. Sắp xếp danh sách sinh viên theo điểm giảm dần (biết rằng điểm của các sinh viên đôi một khác nhau) và in danh sách sau khi sắp xếp.

Dữ liệu vào

  • Dòng đầu tiên chứa số nguyên dương n – số sinh viên (1 ≤ n ≤ 1000).
  • n dòng tiếp theo, mỗi dòng chứa thông tin một sinh viên theo thứ tự: họ và tên, tuổi, điểm, các trường cách nhau bởi một dấu cách. Tuổi và điểm luôn là hai giá trị cuối cùng của dòng.

Kết quả

  • Phần 1 – Thống kê theo tuổi: mỗi dòng có dạng tuổi : số_sinh_viên (có một dấu cách trước và sau dấu :), các dòng xếp theo tuổi tăng dần.
  • Phần 2 – Danh sách sau khi sắp xếp: in ngay sau phần 1, mỗi dòng gồm họ_và_tên tuổi điểm, các trường cách nhau một dấu cách; điểm in với đúng 2 chữ số sau dấu phẩy thập phân.

Ví dụ

Input

5
Nguyen Van An 19 7.5
Tran Thi Binh 20 8.25
Le Minh 19 6
Pham Quang Huy 21 9.1
Do Thu Ha 20 5.75

Output

19 : 2
20 : 2
21 : 1
Pham Quang Huy 21 9.10
Tran Thi Binh 20 8.25
Nguyen Van An 19 7.50
Le Minh 19 6.00
Do Thu Ha 20 5.75

Gợi ý

  • Dùng getline để đọc cả dòng, sau đó tách hai trường cuối (tuổi, điểm) từ phía cuối dòng; phần còn lại là họ tên.
  • Có thể dùng map<int,int> để thống kê theo tuổi (map tự sắp xếp khóa tăng dần).
  • Dùng sort với hàm so sánh tự viết (hoặc list::sort) để sắp xếp theo điểm giảm dần.
  • In điểm: cout << fixed << setprecision(2) << diem;
tichpx

Comments

There are no comments at the moment.

Giải đáp với AI