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

在此示例中,对用户输入的字符串中的元音,辅音,数字和空格进行计数。

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


计算元音,辅音等的程序

  1. #include <stdio.h>
  2. int main() {
  3. char line[150];
  4. int vowels, consonant, digit, space;
  5. vowels = consonant = digit = space = 0;
  6. printf("Enter a line of string: ");
  7. fgets(line, sizeof(line), stdin);
  8. for (int i = 0; line[i] != '\0'; ++i) {
  9. if (line[i] == 'a' || line[i] == 'e' || line[i] == 'i' ||
  10. line[i] == 'o' || line[i] == 'u' || line[i] == 'A' ||
  11. line[i] == 'E' || line[i] == 'I' || line[i] == 'O' ||
  12. line[i] == 'U') {
  13. ++vowels;
  14. } else if ((line[i] >= 'a' && line[i] <= 'z') || (line[i] >= 'A' && line[i] <= 'Z')) {
  15. ++consonant;
  16. } else if (line[i] >= '0' && line[i] <= '9') {
  17. ++digit;
  18. } else if (line[i] == ' ') {
  19. ++space;
  20. }
  21. }
  22. printf("Vowels: %d", vowels);
  23. printf("\nConsonants: %d", consonant);
  24. printf("\nDigits: %d", digit);
  25. printf("\nWhite spaces: %d", space);
  26. return 0;
  27. }

输出

  1. Enter a line of string: adfslkj34 34lkj343 34lk
  2. Vowels: 1
  3. Consonants: 11
  4. Digits: 9
  5. White spaces: 2

在此,用户输入的字符串存储在line变量中。

首先,将变量vowelsconsonantdigitspace初始化为 0。

然后,使用for循环迭代字符串的字符。 在每次迭代中,都会检查字符是否为元音,辅音,数字和空格。 假设字符是元音,在这种情况下,vowel变量增加 1。

循环结束时,元音,辅音,数字和空格的数量分别存储在变量vowelsconsonantdigitspace