GeeksforGeeks App
Open App
Browser
Continue

# 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 Practice

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

 ``

## Javascript

 ``

Output

```2
```

Time Complexity: O(n), where n is the length of the string
Auxiliary Space: O(1)

Recommended Practice

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

 ``

## Javascript

 ``

Output

```2
```

Time Complexity: O(n), where n is the length of the string
Auxiliary Space: O(n), where n is the length of the string since the function is calling itself n times.

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 write.geeksforgeeks.org or mail your article to review-team@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

My Personal Notes arrow_drop_up