Skip to content

Latest commit

 

History

History
106 lines (75 loc) · 3.05 KB

67.md

File metadata and controls

106 lines (75 loc) · 3.05 KB

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

原文: https://www.programiz.com/c-programming/examples/vowel-consonant

在此示例中,您将学习检查用户输入的字母是元音还是辅音。

要理解此示例,您应该了解以下 C 编程主题:


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

该程序假定用户将始终输入字母字符。


检查元音或辅音的程序

#include <stdio.h>
int main() {
    char c;
    int lowercase, uppercase;
    printf("Enter an alphabet: ");
    scanf("%c", &c);

    // evaluates to 1 if variable c is lowercase
    lowercase = (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u');

    // evaluates to 1 if variable c is uppercase
    uppercase = (c == 'A' || c == 'E' || c == 'I' || c == 'O' || c == 'U');

    // evaluates to 1 if c is either lowercase or uppercase
    if (lowercase || uppercase)
        printf("%c is a vowel.", c);
    else
        printf("%c is a consonant.", c);
    return 0;
} 

输出

Enter an alphabet: G
G is a consonant. 

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

如果c是小写元音,则lowercase变量的值为 1(真),而对于其他任何字符,则其值为 0(假)。

同样,如果c是大写元音,则uppercase变量的值为 1(真),而对于其他任何字符,则其值为 0(假)。

如果lowercaseuppercase变量为 1(真),则输入的字符为元音。

但是,如果lowercaseuppercase变量均为 0,则输入的字符为辅音。

注意:该程序假定用户将输入字母。 如果用户输入非字母字符,则显示该字符为常数。

要解决此问题,我们可以使用isalpha()函数。islapha()函数检查字符是否为字母。

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

int main() {
    char c;
    int lowercase, uppercase;
    printf("Enter an alphabet: ");
    scanf("%c", &c);

    // evaluates to 1 if variable c is lowercase
    lowercase = (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u');

    // evaluates to 1 if variable c is uppercase
    uppercase = (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.");
    }
    // if c is an alphabet
    else {
      // evaluates to 1 if c is either lowercase or uppercase
      if (lowercase || uppercase)
        printf("%c is a vowel.", c);
      else
        printf("%c is a consonant.", c);
    }

    return 0;
}

现在,如果用户输入非字母字符,您将看到:

Error! Non-alphabetic character.