Open In App

Program to find if a character is vowel or Consonant

Last Updated : 16 Feb, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

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');
    }
}
  
// 


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.

Vowel DEC HEX BINARY

a

97 0x61 01100001

e

101 0x65 01100101

i

105 0x69 01101001

o

111 0x6F 01101111

u

117 0x75 01110101

 

A

65 0x41 01000001

E

69 0x45 01000101

I

73 0x49 01001001

O

79 0x4F 01001111

U

85 0x55 01010101

 

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.

 

DEC HEX BINARY
31 0x1F 00011111
2130466 0x208222 1000001000001000100010

 

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.

 



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads