C program to remove or delete vowels from a string. If the input is "C programming," then the output is "C prgrmmng."
In the program, we create a new string and process input string character by character. If a vowel is present, we exclude it otherwise we copy it. After the input ends, we copy the new string into it. Finally, we obtain a sequence of characters without vowels.
C program to remove vowels from a string
#include <string.h>
int check_vowel(char);
int main()
{
char s[100], t[100];
int c, d = 0;
printf("Enter a string to delete vowels\n");
gets(s);
for (c = 0; s[c] != '\0'; c++) {
if (check_vowel(s[c]) == 0) { // If not a vowel
t[d] = s[c];
d++;
}
}
t[d] = '\0';
strcpy(s, t); // We are changing initial string. This is optional.
printf("String after deleting vowels: %s\n", s);
return 0;
}
int check_vowel(char t)
{
if (t == 'a' || t == 'A' || t == 'e' || t == 'E' || t == 'i' || t == 'I' || t =='o' || t=='O' || t == 'u' || t == 'U')
return 1;
return 0;
}
Output of program:
C programming code using pointers
#include<stdlib.h>
#include<string.h>
int check_vowel(char);
main()
{
char string[100], *temp, *p, ch, *start;
printf("Enter a string\n");
gets(string);
temp = string;
p = (char*)malloc(100);
if( p == NULL )
{
printf("Unable to allocate memory.\n");
exit(EXIT_FAILURE);
}
start = p;
while(*temp)
{
ch = *temp;
if ( !check_vowel(ch) )
{
*p = ch;
p++;
}
temp++;
}
*p = '\0';
p = start;
strcpy(string, pointer); /* If you wish to convert original string */
free(p);
printf("String after removing vowel(s): \"%s\"\n", string);
return 0;
}
int check_vowel(char a)
{
if (a == 'a' || a == 'e' || a == 'i' || a == 'o' || a == 'u')
return 1;
else if (a == 'A' || a == 'E' || a == 'I' || a == 'O' || a == 'U')
return 1;
else
return 0;
}