Remove the vowels from a string in C

Understanding Vowel Removal

Vowel removal involves deleting all vowels (a, e, i, o, u) from a given string.

We will explore three different methods to remove vowels from a string using C.

Method 1: Using a Loop

This method iterates through the string and constructs a new string without vowels.

#include <stdio.h>
#include <string.h>

void removeVowels(char *str) {
    int i, j = 0;
    char result[strlen(str) + 1];
    for (i = 0; str[i] != '\0'; i++) {
        if (strchr("aeiouAEIOU", str[i]) == NULL) {
            result[j++] = str[i];
        }
    }
    result[j] = '\0';
    printf("String without vowels: %s\n", result);
}

int main() {
    char str[100];
    printf("Enter a string: ");
    gets(str);
    removeVowels(str);
    return 0;
}
            
Input: Hello World
Output: String without vowels: Hll Wrld

Method 2: Using Recursion

This method removes vowels recursively.

#include <stdio.h>
#include <string.h>

void removeVowelsRecursive(char *str, int index) {
    if (str[index] == '\0') {
        return;
    }
    if (strchr("aeiouAEIOU", str[index]) != NULL) {
        memmove(&str[index], &str[index + 1], strlen(str) - index);
        removeVowelsRecursive(str, index);
    } else {
        removeVowelsRecursive(str, index + 1);
    }
}

int main() {
    char str[100];
    printf("Enter a string: ");
    gets(str);
    removeVowelsRecursive(str, 0);
    printf("String without vowels: %s\n", str);
    return 0;
}
            
Input: Programming
Output: String without vowels: Prgrmmng

Method 3: Using Pointers

This method uses pointer manipulation to remove vowels.

#include <stdio.h>
#include <string.h>


void removeVowelsPointer(char *str) {
    char *src = str, *dest = str;
    while (*src) {
        if (strchr("aeiouAEIOU", *src) == NULL) {
            *dest++ = *src;
        }
        src++;
    }
    *dest = '\0';
    printf("String without vowels: %s\n", str);
}

int main() {
    char str[100];
    printf("Enter a string: ");
    gets(str);
    removeVowelsPointer(str);
    return 0;
}
            
Input: Count Vowels
Output: String without vowels: Cnt Vwls
Strings

Below You will find some of the most important codes in languages like C, C++, Java, and Python. These codes are of prime importance for college semester exams and online tests.

Getting Started

Check whether a character is a vowel or consonant: C C++ Java Python

Check whether a character is an alphabet or not: C C++ Java Python

Find the ASCII value of a character: C C++ Java Python

Length of the string without using strlen() function: C C++ Java Python

Toggle each character in a string: C C++ Java Python

Count the number of vowels: C C++ Java Python

Remove the vowels from a string: C C++ Java Python

Check if the given string is Palindrome or not: C C++ Java Python

Print the given string in reverse order: C C++ Java Python

Remove all characters from string except alphabets: C C++ Java Python

Remove spaces from a string: C C++ Java Python

Replace a sub-string in a string: C C++ Java Python

Count common sub-sequences in two strings: C C++ Java Python

Compare two strings with wildcard support in one of them: C C++ Java Python

List all permutations of a given string in dictionary order: C C++ Java Python

Operations on Strings: C C++ Java Python