在此示例中,您將學(xué)習(xí)檢查用戶輸入的字母是元音還是輔音。
要理解此示例,您應(yīng)該了解以下C語言編程主題:
這五個(gè)字母A,E,I,O和U被稱為元音。除這5個(gè)元音以外的所有其他字母稱為輔音。
該程序假定用戶將始終輸入字母字符。
#include <stdio.h>
int main() {
char c;
int lowercase, uppercase;
printf("輸入字母: ");
scanf("%c", &c);
//如果變量c為小寫,則求值為1
lowercase = (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u');
// 如果變量c為大寫,則求值為1
uppercase = (c == 'A' || c == 'E' || c == 'I' || c == 'O' || c == 'U');
// 如果c是小寫或大寫,則求值為1
if (lowercase || uppercase)
printf("%c 是元音.", c);
else
printf("%c 是輔音", c);
return 0;
}輸出結(jié)果
輸入字母: G G 是輔音
用戶輸入的字符存儲(chǔ)在變量c中。
如果c是小寫元音,則lowercase變量的計(jì)算結(jié)果為1(true),而其他任何字符的計(jì)算結(jié)果均為0(false)。
同樣,如果uppercase變量c是大寫元音,則該變量的值為1(true),而對于其他任何字符,該變量的值為0(false)。
如果lowercase或uppercase變量中的任何一個(gè)為1(true),則輸入的字符為元音。
但是,如果lowercase和uppercase變量都為0,則輸入的字符為輔音。
注意:此程序假定用戶將輸入字母。如果用戶輸入非字母字符,則顯示該字符為常數(shù)。
為了解決這個(gè)問題,我們可以使用isalpha()函數(shù)。該islapha()功能檢查字符是否為字母。
#include <stdio.h>
#include <ctype.h>
int main() {
char c;
int lowercase, uppercase;
printf("Enter an alphabet: ");
scanf("%c", &c);
//如果變量c為小寫,則求值為1
lowercase = (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u');
//如果變量c是大寫,則計(jì)算為1
uppercase = (c == 'A' || c == 'E' || c == 'I' || c == 'O' || c == 'U');
//如果c不是字母,則顯示錯(cuò)誤消息
if (!isalpha(c)) {
printf("錯(cuò)誤! 非字母字符。");
}
// if c is an alphabet
else {
//如果c是小寫或大寫,則求值為1
if (lowercase || uppercase)
printf("%c 是元音", c);
else
printf("%c 是輔音", c);
}
return 0;
}現(xiàn)在,如果用戶輸入非字母字符,您將看到:
錯(cuò)誤! 非字母字符。