跳到主要内容

C 编程:检查字符是元音还是辅音的程序

要理解这个示例,你应该了解以下 C 编程 主题:

字母 AEIOU 被称为元音。除了这 5 个元音外的所有其他字母被称为辅音。

这个程序假设用户总是输入一个字母字符。

程序:检查元音或辅音

#include <stdio.h>
int main() {
char c;
int lowercase_vowel, uppercase_vowel;
printf("请输入一个字母: ");
scanf("%c", &c);

// 如果变量 c 是小写元音,则计算结果为 1
lowercase_vowel = (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u');

// 如果变量 c 是大写元音,则计算结果为 1
uppercase_vowel = (c == 'A' || c == 'E' || c == 'I' || c == 'O' || c == 'U');

// 如果 c 是元音,则计算结果为 1(真)
if (lowercase_vowel || uppercase_vowel)
printf("%c 是一个元音。", c);
else
printf("%c 是一个辅音。", c);
return 0;
}

输出

请输入一个字母: G
G 是一个辅音。

用户输入的字符被存储在变量 c 中。

如果 c 是小写元音,则 lowercase_vowel 变量计算结果为 1(真),否则为 0(假)。

类似地,如果 c 是大写元音,则 uppercase_vowel 变量计算结果为 1(真),否则为 0(假)。

如果 lowercase_voweluppercase_vowel 变量中的任何一个为 1(真),则输入的字符是一个元音。但是,如果 lowercase_voweluppercase_vowel 两个变量都为 0,则输入的字符是一个辅音。

注意: 该程序假设用户会输入一个字母。如果用户输入一个非字母字符,它会显示该字符是一个辅音。

为了修复这个问题,我们可以使用 isalpha() 函数。isalpha() 函数检查一个字符是否是字母。

#include <ctype.h>
#include <stdio.h>

int main() {
char c;
int lowercase_vowel, uppercase_vowel;
printf("请输入一个字母: ");
scanf("%c", &c);

// 如果变量 c 是小写元音,则计算结果为 1
lowercase_vowel = (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u');

// 如果变量 c 是大写元音,则计算结果为 1
uppercase_vowel = (c == 'A' || c == 'E' || c == 'I' || c == 'O' || c == 'U');

// 如果 c 不是字母,则显示错误信息
if (!isalpha(c))
printf("错误!非字母字符。");
else if (lowercase_vowel || uppercase_vowel)
printf("%c 是一个元音。", c);
else
printf("%c 是一个辅音。", c);

return 0;
}

现在,如果用户输入一个非字母字符,你会看到:

请输入一个字母: 3
错误!非字母字符。