Related Articles

Related Articles

Program to find if a character is vowel or Consonant
  • Last Updated : 24 Dec, 2020

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++

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# 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

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


PHP

filter_none

edit
close

play_arrow

link
brightness_4
code

<?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
?>

chevron_right


Output: 



Consonant
Vowel

How to handle capital letters as well?  

C++

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python 3 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

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


PHP

filter_none

edit
close

play_arrow

link
brightness_4
code

<?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
?>

chevron_right


Output: 

Consonant
Vowel

using switch case

C++

filter_none

edit
close

play_arrow

link
brightness_4
code

#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;
}

chevron_right


C

filter_none

edit
close

play_arrow

link
brightness_4
code

#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;
}

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

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'))

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


Output

a is 1
x is 0

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

C++

filter_none

edit
close

play_arrow

link
brightness_4
code

#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;
}

chevron_right


C

filter_none

edit
close

play_arrow

link
brightness_4
code

#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;
}

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

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')))

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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

chevron_right


 
 

Output

a is 1
x is 0

 



Most efficient way to check Vowel using bit shift :

 

In ASCII this is 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 it’s 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++

filter_none

edit
close

play_arrow

link
brightness_4
code

#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;
}

chevron_right


C

filter_none

edit
close

play_arrow

link
brightness_4
code

#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;
}

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

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

chevron_right


Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

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')))

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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

chevron_right


 
 

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 :