Counting Vowels in a String using C
In this blog post, we will discuss how to write a C program that takes a string input from the user and counts the number of vowels (both uppercase and lowercase) in the input string. We will also implement a function that checks whether a given character is a vowel or not, and use this function in our program.
Problem Statement
The problem is to write a C program that prompts the user to enter a string, and then counts the number of vowels present in that string. The program should consider both uppercase and lowercase vowels. Finally, the program should print out the total count of vowels found in the input string.
Approach
To solve this problem, we will follow the following approach:
- Prompt the user to enter a string.
- Declare a variable to store the count of vowels.
- Iterate over each character in the string.
- For each character, check if it is a vowel using the vowel checking function.
- If the character is a vowel, increment the count of vowels.
- After iterating over all characters, print out the total count of vowels found.
Implementation
Let’s start by implementing the vowel checking function. We will define a function named isVowel
that takes a character as input and returns 1 if the character is a vowel, and 0 otherwise.
#include <stdio.h>
int isVowel(char ch) {
ch = tolower(ch); // convert the character to lowercase for case-insensitive comparison
if (ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u') {
return 1; // character is a vowel
}
return 0; // character is not a vowel
}
int main() {
char str[100];
int vowelCount = 0;
printf("Enter a string: ");
scanf("%s", str);
for (int i = 0; str[i] != ' '; i++) {
if (isVowel(str[i])) {
vowelCount++;
}
}
printf("Total count of vowels: %dn", vowelCount);
return 0;
}
Let’s understand the implementation:
- We include the
stdio.h
library for input/output operations. - We define the
isVowel
function that takes a character as input and returns 1 if the character is a vowel, and 0 otherwise. - In the main function, we declare a character array
str
to store the user input string and an integer variablevowelCount
to store the count of vowels. - We prompt the user to enter a string using the
printf
function and scan the input using thescanf
function. - We iterate over each character in the string using a for loop.
- For each character, we call the
isVowel
function to check if it is a vowel. - If the character is a vowel, we increment the
vowelCount
variable. - After iterating over all characters, we print out the total count of vowels using the
printf
function. - Finally, we return 0 to indicate successful execution of the program.
Conclusion
In this blog post, we discussed how to write a C program that takes a string input from the user and counts the number of vowels (both uppercase and lowercase) in the input string. We also implemented a function that checks whether a given character is a vowel or not, and used this function in our program. The program successfully counts the total number of vowels found in the input string and prints out the result.
Feel free to modify the program to suit your needs or explore further enhancements, such as handling special characters or implementing additional string manipulation functionalities.