Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

Program to find if a character is vowel or Consonant

  • Difficulty Level : Easy
  • Last Updated : 26 May, 2021

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.

Attention reader! All those who say programming isn't for kids, just haven't met the right mentors yet. Join the  Demo Class for First Step to Coding Coursespecifically designed for students of class 8 to 12. 

The students will get to learn more about the world of programming in these free classes which will definitely help them in making a wise career choice in the future.

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

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

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

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

 Most efficient way to check Vowel using bit shift :

In ASCII these is 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

*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
Recommended Articles
Page :