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".
Try It Yourself
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
wordCountto 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
wordCountto account for the last word. - Output the final value of
wordCount.
Below is the implementation of the algorithm:
#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;
}
#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;
}
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));
}
}
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))
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));
}
}
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)