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”.
// 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 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 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# 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 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 ?> |
<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++ 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 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 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# 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 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 ?> |
<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
#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;
} |
#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;
} |
/*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' ));
}
} |
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' ))
|
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 |
<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> |
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.
#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;
} |
#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;
} |
/*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' ));
}
} |
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# 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 |
<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> |
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 |
#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;
} |
#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;
} |
/*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' ));
}
} |
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# 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 |
<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> |
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.