cpp-005Đọc toàn bộ đề miễn phí

Chuẩn hóa họ tên và tạo email học viên

Cổng thông tin tuyển sinh trực tuyến của AI Empire Academy tiếp nhận hồ sơ học viên với họ tên viết dưới dạng xâu ký tự thô (gồm các chữ cái tiếng Anh/tiếng Việt không dấu a-z, A-Z…

C++Trung bình30 phút

Tiến độ của tôi ở bài này

Điểm được lưu vào tài khoản sau khi chấm bài.

Đang tải điểm của bạn…

Kiến thức và chủ đề

stringstext processingstringstreamascii

Kiến thức tiên quyết: std string, loops, functions.

Nội dung đề bài

Mục tiêu kiến thức

  • Sử dụng đối tượng chuỗi trong C++ (std::string).
  • Tách từ trong chuỗi văn bản bằng luồng chuỗi std::stringstream hiệu quả.
  • Thao tác biến đổi ký tự với thư viện <cctype> (std::toupper(), std::tolower()).
  • Ghép chuỗi và xây dựng địa chỉ email theo quy tắc hệ thống.

Mô tả bài toán

Cổng thông tin tuyển sinh trực tuyến của AI Empire Academy tiếp nhận hồ sơ học viên với họ tên viết dưới dạng xâu ký tự thô (gồm các chữ cái tiếng Anh/tiếng Việt không dấu a-z, A-Z và các dấu cách đặt lộn xộn).

Bạn hãy viết chương trình thực hiện 2 nhiệm vụ:

  • Chuẩn hóa họ tên:
  • Xóa bỏ mọi khoảng trắng thừa ở đầu chuỗi, cuối chuỗi và giữa các từ (hai từ liền kề chỉ cách nhau đúng 1 dấu cách).
  • Chữ cái đầu tiên của mỗi từ phải viết HOA.
  • Toàn bộ các chữ cái còn lại trong mỗi từ phải viết THƯỜNG.
  • Sinh địa chỉ email định danh học viên:
  • Cấu trúc email: <tên>.<các_chữ_cái_đầu_của_họ_và_đệm>@aiempire.edu.vn
  • Tất cả ký tự trong email đều viết THƯỜNG.
  • Nếu học viên chỉ có 1 từ duy nhất (chỉ có Tên, không có họ đệm), email có dạng: <tên>@aiempire.edu.vn.

Quy ước nộp bài

  • Chỉ cần viết một chương trình đọc stdin và in ra stdout. Bài này không yêu cầu viết hàm.
  • Không dùng cout để in lời nhắc trước khi đọc dữ liệu. Lời nhắc sẽ lọt vào stdout và làm bài sai.
  • Chỉ in đúng nội dung ở mục Output. Không in thêm nhãn, dòng trống hay ký tự thừa.
  • Output được so khớp từng ký tự, phân biệt chữ hoa/thường và dấu câu.

Input

Một dòng duy nhất chứa chuỗi họ tên thô S (chỉ gồm các chữ cái Latinh và khoảng trắng).

Output

In ra đúng 2 dòng:

  • Dòng 1: Chuỗi họ tên đã được chuẩn hóa.
  • Dòng 2: Địa chỉ email định danh của học viên.

Ràng buộc

  • Độ dài chuỗi S từ 1 đến 200 ký tự.
  • Chuỗi chứa ít nhất một chữ cái.
  • Thời gian chạy: 1000ms.
  • Bộ nhớ tối đa: 256MB.

Ví dụ 1

Input

   nguyen   van   an   

Output

Nguyen Van An
an.nv@aiempire.edu.vn

Giải thích

  • Chuỗi được loại bỏ khoảng trắng thừa và viết hoa chữ cái đầu: Nguyen Van An.
  • Tên là An, họ đệm là Nguyen Van (chữ cái đầu: n, v).
  • Email sinh ra: an.nv@aiempire.edu.vn.

Ví dụ 2

Input

hOANG

Output

Hoang
hoang@aiempire.edu.vn
3 cấp độ gợi ýMở dần khi bạn thật sự cần hỗ trợ.
Phân tích lời giảiGiải thích hướng tư duy và thuật toán.
Code tham khảoDùng để đối chiếu sau khi tự làm.

Gợi ý và lời giải chỉ mở sau khi bạn bấm Nộp bài. Giáo viên và quản trị viên mở được ngay.