Trong ví dụ này, bạn sẽ học cách kiểm tra xem bảng chữ cái do người dùng nhập là nguyên âm hay phụ âm.
Để hiểu ví dụ này, bạn nên có kiến thức về các chủ đề lập trình C sau:
- Toán tử lập trình C
- Câu lệnh C if… else
- C while và do… while Loop
Năm chữ A
, E
, I
, O
và U
được gọi là nguyên âm. Tất cả các bảng chữ cái khác ngoại trừ 5 nguyên âm này được gọi là phụ âm.
Chương trình này giả định rằng người dùng sẽ luôn nhập một ký tự trong bảng chữ cái.
Chương trình kiểm tra nguyên âm hoặc phụ âm
#include int main() ( char c; int lowercase_vowel, uppercase_vowel; printf("Enter an alphabet: "); scanf("%c", &c); // evaluates to 1 if variable c is a lowercase vowel lowercase_vowel = (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u'); // evaluates to 1 if variable c is a uppercase vowel uppercase_vowel = (c == 'A' || c == 'E' || c == 'I' || c == 'O' || c == 'U'); // evaluates to 1 (true) if c is a vowel if (lowercase_vowel || uppercase_vowel) printf("%c is a vowel.", c); else printf("%c is a consonant.", c); return 0; )
Đầu ra
Nhập một bảng chữ cái: GG là một phụ âm.
Ký tự do người dùng nhập vào được lưu trữ trong biến c.
Biến lowercase_vowel cho giá trị 1 (true) nếu c là nguyên âm viết thường và 0 (false) cho bất kỳ ký tự nào khác.
Tương tự, biến uppercase_vowel cho giá trị 1 (true) nếu c là một nguyên âm viết hoa và 0 (false) cho bất kỳ ký tự nào khác.
Nếu biến lowercase_vowel hoặc uppercase_vowel là 1 (true) thì ký tự được nhập là một nguyên âm. Tuy nhiên, nếu cả hai biến lowercase_vowel và uppercase_vowel đều bằng 0, thì ký tự được nhập là một phụ âm.
Lưu ý: Chương trình này giả định rằng người dùng sẽ nhập một bảng chữ cái. Nếu người dùng nhập một ký tự không phải chữ cái, nó sẽ hiển thị ký tự là một phụ âm.
Để khắc phục điều này, chúng ta có thể sử dụng hàm isalpha (). Các islapha()
kiểm tra chức năng cho dù một nhân vật là một bảng chữ cái hay không.
#include #include int main() ( char c; int lowercase_vowel, uppercase_vowel; printf("Enter an alphabet: "); scanf("%c", &c); // evaluates to 1 if variable c is a lowercase vowel lowercase_vowel = (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u'); // evaluates to 1 if variable c is a uppercase vowel uppercase_vowel = (c == 'A' || c == 'E' || c == 'I' || c == 'O' || c == 'U'); // Show error message if c is not an alphabet if (!isalpha(c)) printf("Error! Non-alphabetic character."); else if (lowercase_vowel || uppercase_vowel) printf("%c is a vowel.", c); else printf("%c is a consonant.", c); return 0; )
Bây giờ, nếu người dùng nhập một ký tự không phải chữ cái, bạn sẽ thấy:
Nhập bảng chữ cái: 3 Lỗi! Ký tự không phải chữ cái.