Yahoo Hỏi & Đáp sẽ ngừng hoạt động vào ngày 4 tháng 5 năm 2021 (Giờ Miền Đông nước Mỹ) và từ nay, trang web Yahoo Hỏi & Đáp sẽ chỉ ở chế độ đọc. Các thuộc tính hoặc dịch vụ khác của Yahoo hay tài khoản Yahoo của bạn sẽ không có gì thay đổi. Bạn có thể tìm thêm thông tin về việc Yahoo Hỏi & Đáp ngừng hoạt động cũng như cách tải về dữ liệu của bạn trên trang trợ giúp này.
Viết chương trình (pascal) nhập vào một chuỗi các ký tự. Hãy in ra các phụ âm và các nguyên âm có trong chuỗi.?
Các bạn chỉ mình cái thuật giải ở ngay chỗ cái phụ âm là được rồi, cám ơn nhiều nha!
Nguyên âm thì mình làm được rồi, chỉ còn phụ âm thôi bạn nào giúp mình nhe!
1 Câu trả lời
- Mèo HồngLv 51 thập kỷ trướcCâu trả lời yêu thích
Vì có nhiều case, bạn nên dùng tập hợp để tránh phải dùng nhiều lệnh if/switch.
Với trường hợp là phụ âm, thì nên kiểm tra điều kiện phủ định của nguyên âm sẽ nhanh hơn - cả khi lập trình lẫn khi chạy.
const
vowels: set of char = ['A','E','I','O','U']; {tập nguyên âm}
var
str: string;
existed: array ['A'..'Z'] of boolean; {mảng lưu giữ thông tin xuất hiện hay không}
ch: char;
i: byte;
begin
write('Nhap chuoi: '); readln(str);
fillchar(existed, sizeof(existed), false); {khởi tạo: chưa xuất hiện chữ nào}
for i:=1 to length(str) do
begin
ch:=upcase(str[i]);
if (ch>='A') and (ch<='Z') then existed[ch]:=true; {đánh dấu đã xuất hiện ký tự này }
end;
writeln('Ket qua');
for ch:='A' to 'Z' do
if existed[ch] and not (ch in vowels) then write(ch); {kiểm tra phụ âm hay nguyên âm}
readln;
end.
Ở lệnh kiểm tra phụ âm hay nguyên âm, nếu muốn kiểm tra phụ âm thì dùng điều kiện: existed[ch] and not (ch in vowels)
nếu muốn kiểm tra nguyên âm thì dùng điều kiện: existed[ch] and (ch in vowels)
:-)