# Program to count vowels in a string (Iterative and Recursive)

Given a string, count the total number of vowels (a, e, i, o, u) in it. There are two methods to count total number of vowels in a string.
1. Iterative
2. Recursive

Examples:

```Input : abc de
Output : 2

Input : geeksforgeeks portal
Output : 7
```

## Recommended: Please solve it on “PRACTICE ” first, before moving on to the solution.

1. Iterative Method
Below is the implementation:

## C++

 `// C++ program to count vowels in a string ` `#include ` `using` `namespace` `std; ` ` `  `// Function to check the Vowel ` `bool` `isVowel(``char` `ch) ` `{ ` `    ``ch = ``toupper``(ch); ` `    ``return` `(ch==``'A'` `|| ch==``'E'` `|| ch==``'I'` `|| ` `                       ``ch==``'O'` `|| ch==``'U'``); ` `} ` ` `  `// Returns count of vowels in str ` `int` `countVowels(string str) ` `{ ` `    ``int` `count = 0; ` `    ``for` `(``int` `i=0; i

## Java

 `// Java program to count vowels in a string ` `public` `class` `GFG { ` `        `  `    ``// Function to check the Vowel ` `    ``static` `boolean` `isVowel(``char` `ch) ` `    ``{ ` `        ``ch = Character.toUpperCase(ch); ` `        ``return` `(ch==``'A'` `|| ch==``'E'` `|| ch==``'I'` `|| ` `                           ``ch==``'O'` `|| ch==``'U'``); ` `    ``} ` `      `  `    ``// Returns count of vowels in str ` `    ``static` `int` `countVowels(String str) ` `    ``{ ` `        ``int` `count = ``0``; ` `        ``for` `(``int` `i = ``0``; i < str.length(); i++) ` `            ``if` `(isVowel(str.charAt(i))) ``// Check for vowel ` `                ``++count; ` `        ``return` `count; ` `    ``} ` `      `  `    ``// Driver code ` `    ``public` `static` `void` `main(String args[]) ` `    ``{ ` `        ``//string object ` `        ``String str = ``"abc de"``; ` `      `  `        ``// Total numbers of Vowel ` `        ``System.out.println(countVowels(str)); ` `    ``} ` `} ` `// This code is contributed by Sumit Ghosh `

## Python3

 `# Python3 program to count vowels ` `# in a string ` ` `  `# Function to check the Vowel ` `def` `isVowel(ch): ` `    ``return` `ch.upper() ``in` `[``'A'``, ``'E'``, ``'I'``, ``'O'``, ``'U'``] ` ` `  `# Returns count of vowels in str  ` `def` `countVowels(``str``): ` `    ``count ``=` `0` `    ``for` `i ``in` `range``(``len``(``str``)): ` ` `  `        ``# Check for vowel ` `        ``if` `isVowel(``str``[i]): ` `            ``count ``+``=` `1` `    ``return` `count ` ` `  `# Driver Code ` ` `  `# string object  ` `str` `=` `'abc de'` ` `  `# Total number of Vowels ` `print``(countVowels(``str``)) ` ` `  `# This code is contributed  ` `# by SamyuktaSHegde `

## C#

 `// C# program to count vowels in a string  ` `using` `System; ` ` `  `class` `GFG ` `{ ` ` `  `    ``// Function to check the Vowel  ` `    ``public` `static` `bool` `isVowel(``char` `ch) ` `    ``{ ` `        ``ch = ``char``.ToUpper(ch); ` `        ``return` `(ch == ``'A'` `|| ch == ``'E'` `||  ` `                ``ch == ``'I'` `|| ch == ``'O'` `||  ` `                              ``ch == ``'U'``); ` `    ``} ` ` `  `    ``// Returns count of vowels in str  ` `    ``public` `static` `int` `countVowels(``string` `str) ` `    ``{ ` `        ``int` `count = 0; ` `        ``for` `(``int` `i = 0; i < str.Length; i++) ` `        ``{ ` `             `  `            ``// Check for vowel ` `            ``if` `(isVowel(str[i]))  ` `            ``{ ` `                ``++count; ` `            ``} ` `        ``} ` `        ``return` `count; ` `    ``} ` ` `  `    ``// Driver code  ` `    ``public` `static` `void` `Main(``string``[] args) ` `    ``{ ` `         `  `        ``//string object  ` `        ``string` `str = ``"abc de"``; ` ` `  `        ``// Total numbers of Vowel  ` `        ``Console.WriteLine(countVowels(str)); ` `    ``} ` `} ` ` `  `// This code is contributed by Shrikant13 `

## PHP

 ` `

Output:

```2
```

## Recommended: Please solve it on “PRACTICE ” first, before moving on to the solution.

2. Recursive Method
Below is the implementation:

## C++

 `// Recursive C++ program to count the total ` `// number of vowels using recursion ` `#include ` `using` `namespace` `std; ` ` `  `// Function to check the Vowel ` `bool` `isVowel(``char` `ch) ` `{ ` `    ``ch = ``toupper``(ch); ` `    ``return` `(ch==``'A'` `|| ch==``'E'` `|| ch==``'I'` `|| ` `                        ``ch==``'O'` `|| ch==``'U'``); ` `} ` ` `  `// to count total number of vowel from 0 to n ` `int` `countVovels(string str, ``int` `n) ` `{ ` `    ``if` `(n == 1) ` `        ``return` `isVowel(str[n-1]); ` ` `  `    ``return` `countVovels(str, n-1) + isVowel(str[n-1]); ` `} ` ` `  `// Main Calling Function ` `int` `main() ` `{ ` `    ``// string object ` `    ``string str = ``"abc de"``; ` ` `  `    ``// Total numbers of Vowel ` `    ``cout << countVovels(str, str.length()) << endl; ` `    ``return` `0; ` `} `

## Java

 `// Recursive Java program to count the total ` `// number of vowels using recursion ` `public` `class` `GFG { ` `        `  `    ``// Function to check the Vowel ` `    ``static` `int` `isVowel(``char` `ch) ` `    ``{ ` `        ``ch = Character.toUpperCase(ch); ` `       ``if``(ch==``'A'` `|| ch==``'E'` `|| ch==``'I'` `|| ` `            ``ch==``'O'` `|| ch==``'U'``)  ` `           ``return` `1``; ` `       ``else` `return` `0``; ` `    ``} ` `      `  `    ``// to count total number of vowel from 0 to n ` `    ``static` `int` `countVowels(String str, ``int` `n) ` `    ``{ ` `        ``if` `(n == ``1``) ` `            ``return` `isVowel(str.charAt(n - ``1``)); ` `      `  `        ``return` `countVowels(str, n-``1``) + isVowel(str.charAt(n - ``1``)); ` `    ``} ` `      `  `    ``// Main Calling Function ` `    ``public` `static` `void` `main(String args[]) ` `    ``{ ` `        ``//string object ` `        ``String str = ``"abc de"``; ` `      `  `        ``// Total numbers of Vowel ` `        ``System.out.println(countVowels(str,str.length())); ` `    ``} ` `} ` `// This code is contributed by Sumit Ghosh `

## Python 3

 `# Recursive Python 3 program to count the  ` `# total number of vowels using recursion ` ` `  `# Function to check the Vowel ` `def` `isVowel(ch): ` `    ``return` `ch.upper() ``in` `[``'A'``, ``'E'``, ``'I'``, ``'O'``, ``'U'``] ` ` `  `# to count total number of ` `# vowel from 0 to n ` `def` `countVovels(``str``, n): ` `    ``if` `(n ``=``=` `1``): ` `        ``return` `isVowel(``str``[n ``-` `1``]); ` ` `  `    ``return` `(countVovels(``str``, n ``-` `1``) ``+` `                ``isVowel(``str``[n ``-` `1``])); ` ` `  `# Driver Code ` ` `  `# string object ` `str` `=` `"abc de"``; ` ` `  `# Total numbers of Vowel ` `print``(countVovels(``str``, ``len``(``str``))) ` ` `  `# This code is contributed  ` `# by Akanksha Rai `

## C#

 `using` `System; ` ` `  `// Recursive C# program to count the total  ` `// number of vowels using recursion  ` `public` `class` `GFG ` `{ ` ` `  `    ``// Function to check the Vowel  ` `    ``public` `static` `int` `isVowel(``char` `ch) ` `    ``{ ` `        ``ch = ``char``.ToUpper(ch); ` `       ``if` `(ch == ``'A'` `|| ch == ``'E'` `|| ch == ``'I'` `|| ch == ``'O'` `|| ch == ``'U'``) ` `       ``{ ` `           ``return` `1; ` `       ``} ` `       ``else` `       ``{ ` `           ``return` `0; ` `       ``} ` `    ``} ` ` `  `    ``// to count total number of vowel from 0 to n  ` `    ``public` `static` `int` `countVowels(``string` `str, ``int` `n) ` `    ``{ ` `        ``if` `(n == 1) ` `        ``{ ` `            ``return` `isVowel(str[n - 1]); ` `        ``} ` ` `  `        ``return` `countVowels(str, n - 1) + isVowel(str[n - 1]); ` `    ``} ` ` `  `    ``// Main Calling Function  ` `    ``public` `static` `void` `Main(``string``[] args) ` `    ``{ ` `        ``//string object  ` `        ``string` `str = ``"abc de"``; ` ` `  `        ``// Total numbers of Vowel  ` `        ``Console.WriteLine(countVowels(str,str.Length)); ` `    ``} ` `} ` ` `  `// This code is contributed by Shrikant13 `

## PHP

 ` `

Output:

```2
```

How Recursive Code Working.. This article is contributed by Prakhar Agrawal. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up

Article Tags :
Practice Tags :

1

Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.