Skip to content
Related Articles

Related Articles

Program to find if a character is vowel or Consonant

Improve Article
Save Article
  • Difficulty Level : Easy
  • Last Updated : 10 Oct, 2022
Improve Article
Save Article

Given a character, check if it is vowel or consonant. Vowels are ‘a’, ‘e’, ‘i’, ‘o’ and ‘u’. All other characters (‘b’, ‘c’, ‘d’, ‘f’ ….) are consonants.

Examples:  

Input : x = 'c'
Output : Consonant

Input : x = 'u'
Output : Vowel

We check whether the given character matches any of the 5 vowels. If yes, we print “Vowel”, else we print “Consonant”. 

C++




// CPP program to check if a given character
// is vowel or consonant.
#include <iostream>
using namespace std;
 
// Function to check whether a character is
// vowel or not
void vowelOrConsonant(char x)
{
    if (x == 'a' || x == 'e' || x == 'i' ||
                   x == 'o' || x == 'u')
        cout << "Vowel" << endl;
    else
        cout << "Consonant" << endl
}
 
// Driver code
int main()
{
    vowelOrConsonant('c');
    vowelOrConsonant('e');
    return 0;
}

Java




// java program to check if a given
// character is vowel or consonant.
import java.io.*;
 
public class GFG {
 
    // Function to check whether a
    // character is vowel or not
    static void vowelOrConsonant(char x)
    {
        if (x == 'a' || x == 'e' || x == 'i' ||
                          x == 'o' || x == 'u')
            System.out.println("Vowel");
        else
            System.out.println("Consonant");
    }
 
    // Driver code
    static public void main(String[] args)
    {
        vowelOrConsonant('c');
        vowelOrConsonant('e');
    }
}
 
// This code is contributed by vt_m.

Python3




# Python3 program to check if a given
# character is vowel or consonant.
 
# Function to check whether a character
# is vowel or not
def vowelOrConsonant(x):
 
    if (x == 'a' or x == 'e' or
        x == 'i' or x == 'o' or x == 'u'):
        print("Vowel")
    else:
        print("Consonant")
 
# Driver code
vowelOrConsonant('c')
vowelOrConsonant('e')
     
# This code is contributed by
# mohit kumar 29

C#




// C# program to check if a given
// character is vowel or consonant.
using System;
 
public class GFG {
 
    // Function to check whether a
    // character is vowel or not
    static void vowelOrConsonant(char x)
    {
        if (x == 'a' || x == 'e' || x == 'i' ||
                          x == 'o' || x == 'u')
            Console.WriteLine("Vowel");
        else
            Console.WriteLine("Consonant");
    }
 
    // Driver code
    static public void Main()
    {
        vowelOrConsonant('c');
        vowelOrConsonant('e');
    }
}
 
// This code is contributed by vt_m.

PHP




<?php
// PHP program to check if a given
// character is vowel or consonant.
 
// Function to check whether a
// character is vowel or not
function vowelOrConsonant($x)
{
    if ($x == 'a' || $x == 'e' ||
        $x == 'i' || $x == 'o' ||
        $x == 'u')
        echo "Vowel" . "\n";
    else
        echo "Consonant" . "\n";
}
 
// Driver code
vowelOrConsonant('c');
vowelOrConsonant('e');
 
// This code is contributed
// by Akanksha Rai
?>

Javascript




<script>
    // Javascript program to check if a given
    // character is vowel or consonant.
     
    // Function to check whether a
    // character is vowel or not
    function vowelOrConsonant(x)
    {
        if (x == 'a' || x == 'e' || x == 'i' || x == 'o' || x == 'u')
            document.write("Vowel" + "</br>");
        else
            document.write("Consonant" + "</br>");
    }
       
    vowelOrConsonant('c');
      vowelOrConsonant('e');
     
    // This code is contributed by mukesh07.
</script>

Output: 

Consonant
Vowel

Time Complexity: O(1)

Auxiliary Space: O(1)

How to handle capital letters as well?  

C++




// C++ program to check if a given character
// is vowel or consonant.
#include <iostream>
using namespace std;
 
// Function to check whether a character is
// vowel or not
void vowelOrConsonant(char x)
{
    if (x == 'a' || x == 'e' || x == 'i' ||
        x == 'o' || x == 'u' || x == 'A' ||
        x == 'E' || x == 'I' || x == 'O' || x == 'U')
        cout << "Vowel" << endl;
    else
        cout << "Consonant" << endl;
}
 
// Driver code
int main()
{
    vowelOrConsonant('c');
    vowelOrConsonant('E');
    return 0;
}

Java




// Java program to check if a given
// character is vowel or consonant
import java.io.*;
 
public class GFG {
 
    // Function to check whether a
    // character is vowel or not
    static void vowelOrConsonant(char x)
    {
        if (x == 'a' || x == 'e' || x == 'i' ||
            x == 'o' || x == 'u' || x == 'A' ||
            x == 'E' || x == 'I' || x == 'O' || x == 'U')
            System.out.println("Vowel");
        else
            System.out.println("Consonant");
    }
 
    // Driver code
    static public void main(String[] args)
    {
        vowelOrConsonant('c');
        vowelOrConsonant('E');
    }
}
 
// This article is contributed by vt_m.

Python3




# Python3 program to check if a given
# character is vowel or consonant.
 
# Function to check whether a
# character is vowel or not
def vowelOrConsonant(x):
    if (x == 'a' or x == 'e' or x == 'i' or
        x == 'o' or x == 'u' or x == 'A' or
        x == 'E' or x == 'I' or x == 'O' or
        x == 'U'):
        print("Vowel")
    else:
        print("Consonant")
 
# Driver code
if __name__ == '__main__':
    vowelOrConsonant('c')
    vowelOrConsonant('E')
 
# This code is contributed by
# Sanjit_Prasad

C#




// C# program to check if a given
// character is vowel or consonant
using System;
public class GFG {
 
    // Function to check whether a
    // character is vowel or not
    static void vowelOrConsonant(char x)
    {
        if (x == 'a' || x == 'e' || x == 'i' ||
            x == 'o' || x == 'u' || x == 'A' ||
            x == 'E' || x == 'I' || x == 'O' || x == 'U')
            Console.WriteLine("Vowel");
        else
            Console.WriteLine("Consonant");
    }
 
    // Driver code
    static public void Main()
    {
        vowelOrConsonant('c');
        vowelOrConsonant('E');
    }
}
 
// This article is contributed by vt_m.

PHP




<?php
// PHP program to check if a given character
// is vowel or consonant.
 
// Function to check whether a
// character is vowel or not
function vowelOrConsonant($x)
{
    if ($x == 'a' || $x == 'e' || $x == 'i' ||
        $x == 'o' || $x == 'u' || $x == 'A' ||
        $x == 'E' || $x == 'I' || $x == 'O' ||
        $x == 'U')
        echo "Vowel" . "\n";
    else
        echo "Consonant" . "\n";
}
 
// Driver code
vowelOrConsonant('c');
vowelOrConsonant('E');
 
// This code is contributed
// by Akanksha Rai
?>

Javascript




<script>
 
// Javascript program to check if a
// given character is vowel or consonant.
 
// Function to check whether a character is
// vowel or not
function vowelOrConsonant(x)
{
    if (x == 'a' || x == 'e' || x == 'i' ||
        x == 'o' || x == 'u' || x == 'A' ||
        x == 'E' || x == 'I' || x == 'O' || x == 'U')
        document.write("Vowel" + "</br>");
    else
        document.write("Consonant" + "</br>");
}
 
// Driver code
vowelOrConsonant('c');
vowelOrConsonant('E');
 
// This code is contributed by rameshtravel07
 
</script>

Output: 

Consonant
Vowel

Time Complexity: O(1)

Auxiliary Space: O(1)

using switch case

C++




#include <iostream>
 
using namespace std;
 
int isVowel(char ch)
{
    int check = 0;
    switch (ch) {
    case 'a':
    case 'e':
    case 'i':
    case 'o':
    case 'u':
    case 'A':
    case 'E':
    case 'I':
    case 'O':
    case 'U':
        check = 1;
    }
    return check;
}
 
// Driver Code
int main()
{
    cout << "a is " << isVowel('a')
         << endl; // 1 means Vowel
    cout << "x is " << isVowel('x')
         << endl; // 0 means Consonant
 
    return 0;
}

C




#include <stdio.h>
 
int isVowel(char ch)
{
    int check = 0;
    switch (ch) {
    case 'a':
    case 'e':
    case 'i':
    case 'o':
    case 'u':
    case 'A':
    case 'E':
    case 'I':
    case 'O':
    case 'U':
        check = 1;
    }
    return check;
}
 
int main()
{
    printf("a is %d\n",
           isVowel('a')); // 1 means Vowel
    printf("x is %d\n",
           isVowel('x')); // 0 means Consonant
 
    return 0;
}

Java




/*package whatever //do not write package name here */
 
import java.io.*;
 
class GFG {
    static int isVowel(char ch)
    {
        int check = 0;
        switch (ch) {
        case 'a':
        case 'e':
        case 'i':
        case 'o':
        case 'u':
        case 'A':
        case 'E':
        case 'I':
        case 'O':
        case 'U':
            check = 1;
        }
        return check;
    }
   
    // Driver Code
    public static void main(String[] args)
    {
 
        System.out.println("a is " + isVowel('a'));
        System.out.println("x is " + isVowel('x'));
    }
}

Python3




def isVowel(ch):
    switcher = {
        'a': "Vowel",
        'e': "Vowel",
        'i': "Vowel",
        'o': "Vowel",
        'u': "Vowel",
        'A': "Vowel",
        'E': "Vowel",
        'I': "Vowel",
        'O': "Vowel",
        'U': "Vowel"
    }
    return switcher.get(ch, "Consonant")
 
# Driver Code
print('a is '+isVowel('a'))
print('x is '+isVowel('x'))

C#




using System;
 
class GFG
{
  static int isVowel(char ch)
  {
    int check = 0;
    switch (ch) {
      case 'a':
        check = 1;
        break;
      case 'e':
        check = 1;
        break;
      case 'i':
        check = 1;
        break;
      case 'o':
        check = 1;
        break;
      case 'u':
        check = 1;
        break;
      case 'A':
        check = 1;
        break;
      case 'E':
        check = 1;
        break;
      case 'I':
        check = 1;
        break;
      case 'O':
        check = 1;
        break;
      case 'U':
        check = 1;
        break;
    }
    return check;
  }
 
  // Driver code
  static public void Main ()
  {
    Console.WriteLine("a is " + isVowel('a'));
    Console.WriteLine("x is " + isVowel('x'));
  }
}
 
// This code is contributed by rag2127

Javascript




<script>
 
function isVowel(ch)
{
    var check = 0;
    switch (ch) {
    case 'a':
    case 'e':
    case 'i':
    case 'o':
    case 'u':
    case 'A':
    case 'E':
    case 'I':
    case 'O':
    case 'U':
        check = 1;
    }
    return check;
}
 
// Driver Code
 
// 1 means Vowel
document.write("a is " + isVowel('a') + "<br>");
 
// 0 means Consonant
document.write("x is " + isVowel('x') + "<br>");
 
// This code is contributed by Shivani
 
</script>

Output

a is 1
x is 0

Time Complexity: O(1)

Auxiliary Space: O(1)

Another way is to find() the character in a string containing only Vowels.

C++




#include <iostream>
#include <string>
 
using namespace std;
 
int isVowel(char ch)
{
    // Make the list of vowels
    string str = "aeiouAEIOU";
    return (str.find(ch) != string::npos);
}
 
// Driver code
int main()
{
    cout << "a is " << isVowel('a') << endl;
    cout << "x is " << isVowel('x') << endl;
 
    return 0;
}

C




#include <stdio.h>
#include <string.h>
 
int isVowel(char ch)
{
    // Make the list of vowels
    char str[] = "aeiouAEIOU";
    return (strchr(str, ch) != NULL);
}
 
// Driver Code
int main()
{
    printf("a is %d\n", isVowel('a'));
    printf("x is %d\n", isVowel('x'));
    return 0;
}

Java




/*package whatever //do not write package name here */
 
import java.io.*;
 
class GFG {
    static int isVowel(char ch)
    {
        // Make the list of vowels
        String str = "aeiouAEIOU";
        return (str.indexOf(ch) != -1) ? 1 : 0;
    }
   
    // Driver Code
    public static void main(String[] args)
    {
        System.out.println("a is " + isVowel('a'));
        System.out.println("x is " + isVowel('x'));
    }
}

Python3




def isVowel(ch):
 
    # Make the list of vowels
    str = "aeiouAEIOU"
    return (str.find(ch) != -1)
 
# Driver Code
print('a is '+str(isVowel('a')))
print('x is '+str(isVowel('x')))

C#




// C# program to implement
// the above approach
using System;
class GFG{
     
static int isVowel(char ch)
{
  // Make the list of vowels
  string str = "aeiouAEIOU";
  return (str.IndexOf(ch) != -1) ?
          1 : 0;
}
  
// Driver code 
static void Main()
{
  Console.WriteLine("a is " + isVowel('a'));
  Console.WriteLine("x is " + isVowel('x'));
}
}
 
// This code is contributed by divyeshrabadiya07

Javascript




<script>
/*package whatever //do not write package name here */
     
    function isVowel(ch)
    {
        // Make the list of vowels
        let str = "aeiouAEIOU";
        return (str.indexOf(ch) != -1) ? 1 : 0;
    }
     
    // Driver Code
    document.write("a is " + isVowel('a')+"<br>");
    document.write("x is " + isVowel('x')+"<br>");
     
 
// This code is contributed by patel2127
</script>

Output

a is 1
x is 0

Time Complexity: O(N)

Auxiliary Space: O(1)
 Most efficient way to check Vowel using bit shift :

In ASCII these are the respective values of every vowel both in lower and upper cases.

VowelDECHEXBINARY

a

970x6101100001

e

1010x6501100101

i

1050x6901101001

o

1110x6F01101111

u

1170x7501110101

 

A

650x4101000001

E

690x4501000101

I

730x4901001001

O

790x4F01001111

U

850x5501010101

 

As very lower and upper case vowels have the same 5 LSBs. We need a number 0x208222 which gives 1 in its LSB after right-shift 1, 5, 19, 15 otherwise gives 0.  The numbers depend on character encoding.

 

DECHEXBINARY
310x1F00011111
21304660x2082221000001000001000100010

 

C++




#include <iostream>
using namespace std;
 
int isVowel(char ch)
{
    return (0x208222 >> (ch & 0x1f)) & 1;
    // same as (2130466 >> (ch & 31)) & 1;
}
 
// Driver Code
int main()
{
    cout << "a is " << isVowel('a') << endl;
    cout << "x is " << isVowel('x') << endl;
 
    return 0;
}

C




#include <stdio.h>
 
int isVowel(char ch)
{
    return (0x208222 >> (ch & 0x1f)) & 1;
    // same as (2130466 >> (ch & 31)) & 1;
}
 
// Driver Code
int main()
{
    printf("a is %d\n", isVowel('a'));
    printf("x is %d\n", isVowel('x'));
 
    return 0;
}

Java




/*package whatever //do not write package name here */
 
import java.io.*;
 
class GFG
{
    static int isVowel(char ch)
    {
        return (0x208222 >> (ch & 0x1f)) & 1;
        // same as (2130466 >> (ch & 31)) & 1;
    }
   
    // Driver Code
    public static void main(String[] args)
    {
        System.out.println("a is " + isVowel('a'));
        System.out.println("x is " + isVowel('x'));
    }
}

Python3




def isVowel(ch):
 
    return (0x208222 >> (ord(ch) & 0x1f)) & 1
    # same as (2130466 >> (ord(ch) & 31)) & 1;
 
# Driver Code
print('a is '+str(isVowel('a')))
print('x is '+str(isVowel('x')))

C#




// C# implementation of above approach
using System;
class GFG {
     
    static int isVowel(char ch)
    {
        return (0x208222 >> (ch & 0x1f)) & 1;
         
      // same as (2130466 >> (ch & 31)) & 1;
    }
    
  // Driver code
  static void Main()
  {
    Console.WriteLine("a is " + isVowel('a'));
    Console.WriteLine("x is " + isVowel('x'));
  }
}
 
// This code is contributed by divesh072019

Javascript




<script>
 
    function isVowel(ch)
    {
        return (0x208222 >> (ch.charCodeAt(0) & 0x1f)) & 1;
        // same as (2130466 >> (ch & 31)) & 1;
    }
     
    // Driver Code
    document.write("a is " + isVowel('a')+"<br>");
    document.write("x is " + isVowel('x')+"<br>");
     
 
// This code is contributed by unknown2108
</script>

Output

a is 1
x is 0

Time Complexity: O(1)

Auxiliary Space: O(1)
*We can omit the ( ch & 0x1f ) part on X86 machines as the result of SHR/SAR (which is >> ) masked to 0x1f automatically.

*For machines bitmap check is faster than table check, but if the ch variable stored in register than it may perform faster.

 


My Personal Notes arrow_drop_up
Related Articles

Start Your Coding Journey Now!