Giải bài tập Turbo Pascal - Bài 2 trang 73


Viết chương trình nhập vào từ bàn phím một xâu kí tự s bất kì và thông báo ra màn hình số lần xuất hiện của mỗi chữ cái tiếng Anh trong xâu đó (Không phân biệt chữ hoa hay thường).

TEXT

Input:
'BuI qqUOcc'
Output
ki tu B xuat hien 1 lan
ki tu u xuat hien 1 lan
ki tu I xuat hien 1 lan
ki tu q xuat hien 2 lan
ki tu U xuat hien 1 lan
ki tu O xuat hien 1 lan
ki tu c 2 lan

Ý tưởng

Trong chương trình dưới mình sử dụng while do, điều kiện thoát khỏi vòng lặp là length(s)=0.
Đầu tiên ta sẽ lấy kí tự đầu trong xâu, sau đó sử dụng hàm pos(s1,s) để kiểm tra xem kí tự đầu đó có xuất hiện trong xâu hay không. Nếu có thì pos(s1,s) <> 0 ta sẽ tăng số đếm lên 1 và xóa kí tự ở vị trí pos(s1,s) đi, ngược lại ta sẽ đưa ra kết quả.

Chương trình


Comments