Skip to content

luc074.c

Problem Statement

Write a program that will read a line and delete from it all occurrences of the word 'the'.

Metadata

Property Detail
Author Amit Dutta amitdutta4255@gmail.com
Date 08 Feb 2026
License MIT License (See the LICENSE file for details)
Difficulty Beginner (index: 1 / 10)

Concepts

Beta Feature

This concept detection system is still in beta and may occasionally show incorrect or incomplete results.

  • Array

Actions

Raw View on GitHub

You can print or save this file by opening Raw and using your browser.

Source Code

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

int main()
{
    char str[100], res[100];
    int i = 0, j = 0;

    printf("Enter a line of text: ");
    gets(str);

    while (str[i] != '\0')
    {
        /* Check if the current segment matches "the" */
        /* To be a word 'the', it should effectively be surrounded by non-alphabets or start/end of string.
           For simplicity in this context, we check if str[i..] starts with "the" */

        if ((str[i] == 't' || str[i] == 'T') && 
            (str[i+1] == 'h' || str[i+1] == 'H') && 
            (str[i+2] == 'e' || str[i+2] == 'E') &&
            (str[i+3] == ' ' || str[i+3] == '\0'))
        {
            // Found "the" followed by space or null. Skip "the".
            i += 3; 

            // If it was followed by a space, we might want to skip the space too 
            // to avoid double spaces, but the problem says delete 'the'.
            // Let's just skip the word.
        }
        else
        {
            res[j] = str[i];
            j++;
            i++;
        }
    }
    res[j] = '\0';

    printf("Text after removing 'the': %s\n", res);

    return 0;
}

Explanation

Explain with AI

Copy the prompt below and paste it into any AI assistant.

    You are explaining a C programming code to a beginner.

    STRICT RULES:

    - Only use the given code. Do NOT assume anything not present.

    - Do NOT add extra examples.

    - Keep explanation clear and short.

    - If something is unclear, say "Not clear from code".

    - Follow the exact format below. Do NOT change headings.

    FORMAT:

    [START]

    ## What it does

    (Explain the overall purpose in 1-2 sentences)

    ## Step-by-step

    (Explain how the code works in steps, simple language)

    ## Key Concepts

    (List concepts like loop, condition, function, etc.)

    ## Notes

    (Mention any limitations, errors, or assumptions)

    [END]

    CODE (luc074.c):

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

    int main()
    {
        char str[100], res[100];
        int i = 0, j = 0;

        printf("Enter a line of text: ");
        gets(str);

        while (str[i] != '\0')
        {
            /* Check if the current segment matches "the" */
            /* To be a word 'the', it should effectively be surrounded by non-alphabets or start/end of string.
               For simplicity in this context, we check if str[i..] starts with "the" */

            if ((str[i] == 't' || str[i] == 'T') && 
                (str[i+1] == 'h' || str[i+1] == 'H') && 
                (str[i+2] == 'e' || str[i+2] == 'E') &&
                (str[i+3] == ' ' || str[i+3] == '\0'))
            {
                // Found "the" followed by space or null. Skip "the".
                i += 3; 

                // If it was followed by a space, we might want to skip the space too 
                // to avoid double spaces, but the problem says delete 'the'.
                // Let's just skip the word.
            }
            else
            {
                res[j] = str[i];
                j++;
                i++;
            }
        }
        res[j] = '\0';

        printf("Text after removing 'the': %s\n", res);

        return 0;
    }