Open In App

# 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#includeusing namespace std;  // Function to check the Vowelbool isVowel(char ch){    ch = toupper(ch);    return (ch=='A' || ch=='E' || ch=='I' ||                       ch=='O' || ch=='U');}  // Returns count of vowels in strint countVowels(string str){    int count = 0;    for (int i=0; i

## Java

 // Java program to count vowels in a stringpublic 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 Voweldef 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 Vowelsprint(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



## 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#includeusing namespace std;  // Function to check the Vowelbool 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 nint countVovels(string str, int n){    if (n == 1)        return isVowel(str[n-1]);      return countVovels(str, n-1) + isVowel(str[n-1]);}  // Main Calling Functionint 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 recursionpublic 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 Voweldef isVowel(ch):    return ch.upper() in ['A', 'E', 'I', 'O', 'U']  # to count total number of# vowel from 0 to ndef countVovels(str, n):    if (n == 1):        return isVowel(str[n - 1]);      return (countVovels(str, n - 1) +                isVowel(str[n - 1]));  # Driver Code  # string objectstr = "abc de";  # Total numbers of Vowelprint(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



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