Open In App

Program to count the number of words in a sentence

Last Updated : 18 Jan, 2024
Improve
Improve
Like Article
Like
Save
Share
Report

Write a program to count the number of words in a given sentence. A word is defined as a sequence of characters separated by spaces.

Examples:

Input: “The quick brown fox”
Output: 4
Explanation: The sentence has four words – “The”, “quick”, “brown”, “fox”.

Input: “The quick brown fox”
Output: 4
Explanation: The sentence has four words – “The”, “quick”, “brown”, “fox”.

Approach: To solve the problem, follow the below idea:

Iterate through each character in the sentence and count the number of spaces to identify the separation between words. The total count of spaces plus 1 gives the number of words.

Step-by-step algorithm:

  • Initialize a variable wordCount to 0.
  • Iterate through each character in the sentence.
  • Check if the current character is a space.
  • If a space is found, increment the wordCount.
  • After the loop, add 1 to wordCount to account for the last word.
  • Output the final value of wordCount.

Below is the implementation of the algorithm:

C++




#include <iostream>
 
using namespace std;
 
int countWords(const string& sentence)
{
    // Initialize count to 1 assuming at least one word is
    // present
    int count = 1;
 
    for (char character : sentence) {
        if (character == ' ') {
            count++;
        }
    }
 
    return count;
}
 
int main()
{
    string sentence = "Programming is fun and challenging";
    cout << "Number of words: " << countWords(sentence)
         << endl;
 
    return 0;
}


C




#include <stdio.h>
 
int countWords(char sentence[]) {
    int count = 1;  // Initialize count to 1 assuming at least one word is present
 
    for (int i = 0; sentence[i] != '\0'; ++i) {
        if (sentence[i] == ' ') {
            count++;
        }
    }
 
    return count;
}
 
int main() {
    char sentence[] = "Programming is fun and challenging";
    printf("Number of words: %d\n", countWords(sentence));
 
    return 0;
}


Java




public class WordCounter {
    static int countWords(String sentence) {
        // Initialize count to 1 assuming at least one word is present
        int count = 1;
 
        for (int i = 0; i < sentence.length(); ++i) {
            if (sentence.charAt(i) == ' ') {
                count++;
            }
        }
 
        return count;
    }
 
    public static void main(String[] args) {
        String sentence = "Programming is fun and challenging";
        System.out.println("Number of words: " + countWords(sentence));
    }
}


Python3




def count_words(sentence):
    # Initialize count to 1 assuming at least one word is present
    count = 1
 
    for char in sentence:
        if char == ' ':
            count += 1
 
    return count
 
# Example usage
sentence = "Programming is fun and challenging"
print("Number of words:", count_words(sentence))


C#




using System;
 
class Program {
    static int CountWords(string sentence)
    {
        // Initialize count to 1 assuming at least one word
        // is present
        int count = 1;
 
        foreach(char character in sentence)
        {
            if (character == ' ') {
                count++;
            }
        }
 
        return count;
    }
 
    static void Main()
    {
        string sentence
            = "Programming is fun and challenging";
        Console.WriteLine("Number of words: "
                          + CountWords(sentence));
    }
}


Javascript




function countWords(sentence) {
    // Initialize count to 1 assuming at least one word is present
    let count = 1;
 
    for (let char of sentence) {
        if (char === ' ') {
            count++;
        }
    }
 
    return count;
}
 
// Example usage
let sentence = "Programming is fun and challenging";
console.log("Number of words:", countWords(sentence));


Output

Number of words: 5

Time Complexity: O(N) where N is the length of the sentence.
Auxiliary Space: O(1)



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads