Here is a C program to find count the number of Vowel, Consonant, Digits and Spaces in a String. English alphabets has five proper vowel letters (A, E, I, O, U) and all alphabets except these characters are consonants.
There are 10 digits in decimal number systems, from '0' to '9' and in this program we will only check for space character ' ' and not other white space characters like tab and new line.
C program to count the number or vowels, consonants, digits and spaces in a string
In this program, we first take a string as input from user using gets function. We are using four integer variables V, C, D and W as counters for Vowels, Consonants, Digits and Space characters. Here, we are using user defined functions to check for various characters as follows :
- int isVowel(char c) : Returns 1 if passed character is vowel, otherwise 0.
- int isConsonant(char c) : Returns 1 if passed character is consonant, otherwise 0.
- int isDigit(char c) : Returns 1 if passed character is digit, otherwise 0.
- int isWhitespace(char c) : Returns 1 if passed character is space, otherwise 0.
Using a for loop we traverse input string from index 0 till '\0' character and check every character using above mentioned four functions.
#include<stdio.h> int isVowel(char c); int isConsonant(char c); int isDigit(char c); int isWhitespace(char c); int main(){ char str[500]; int V = 0, C = 0, D = 0, W = 0, i; printf("Enter a string\n"); gets(str); for(i = 0;str[i] != '\0'; i++) { V += isVowel(str[i]); C += isConsonant(str[i]); D += isDigit(str[i]); W += isWhitespace(str[i]); } printf("Vowels: %d\n",V); printf("Consonants: %d\n",C); printf("Digits: %d\n",D); printf("White spaces: %d",W); return 0; } int isVowel(char c){ if(c=='a'||c=='e'||c=='i'||c=='o'||c=='u'|| c=='A'||c=='E'||c=='I'||c=='O'||c=='U'){ return 1; } else { return 0; } } int isConsonant(char c) { if(((c>='a'&& c<='z') || (c>='A'&& c<='Z')) && !isVowel(c)){ return 1; } else { return 0; } } int isDigit(char c) { if(c>='0'&&c<='9'){ return 1; } else { return 0; } } int isWhitespace(char c) { if(c == ' '){ return 1; } else { return 0; } }Output
Enter a string C is my 1st programming language Vowels: 8 Consonants: 18 Digits: 1 White spaces: 5
Related Topics