Print each word in a sentence with their corresponding average of ASCII values

Given a sentence, the task is to find the average of ASCII values of each word in the sentence and print it with the word.
Examples:
Input: sentence = "Learning a string algorithm" Output: Learning - 102 a - 97 string - 110 algorithm - 107
Approach:
- Take an empty string and start traversing the sentence letter by letter.
- Add letter to the string and add its ASCII value to the sum.
- If there is an empty space calculate the average by dividing the sum by the length of the string (word)
- Clear the string so that it can be used for the next word
- Also set the sum to zero.
Below is the implementation of the above approach:
C++
// C++ program of the above approach#include <bits/stdc++.h>using namespace std;// Function to calculate the// average of each word in a sentencevoid calculateAverage(string sentence){ // Word initialised to an empty string string word = ""; // Sum of ascii values int sum = 0; int len = sentence.length(); for (int i = 0; i < len; ++i) { // If character is a space if (sentence[i] == ' ') { // Calculate the average int average = sum / word.length(); cout << word << " - " << average << endl; // Clear the word and // set the sum to 0 word.clear(); sum = 0; } else { // Add the ascii value to sum and // also add the letter to the word sum += sentence[i]; word += sentence[i]; } } // Calculate the average of last word int average = sum / word.length(); cout << word << " - " << average;}// Driver codeint main(){ // Get the sentence string sentence = "Learning a string algorithm"; // Calculate the average calculateAverage(sentence); return 0;} |
Java
// Java program of the above approach import java.util.*;public class Solution{// Function to calculate the // average of each word in a sentence static void calculateAverage(String sentence) { // Word initialised to an empty string String word = ""; // Sum of ascii values int sum = 0; int len = sentence.length(); for (int i = 0; i < len; ++i) { // If character is a space if (sentence.charAt(i) == ' ') { // Calculate the average int average = sum / word.length(); System.out.println( word + " - "+ average ); // Clear the word and // set the sum to 0 word=""; sum = 0; } else { // Add the ascii value to sum and // also add the letter to the word sum += sentence.charAt(i); word += sentence.charAt(i); } } // Calculate the average of last word int average = sum / word.length(); System.out.print( word + " - " + average); } // Driver code public static void main(String[] args){ // Get the sentence String sentence = "Learning a string algorithm"; // Calculate the average calculateAverage(sentence); } }//contributed by Arnab Kundu |
Python 3
# Python 3 program of the above approach# Function to calculate the# average of each word in a sentencedef calculateAverage(sentence): # Word initialised to # an empty string word = "" # Sum of ascii values sum = 0 l = len(sentence) for i in range(l): # If character is a space if (sentence[i] == ' ') : # Calculate the average average = sum // len(word) print(word , " - ", average) # Clear the word and # set the sum to 0 word = "" sum = 0 else : # Add the ascii value to sum and # also add the letter to the word sum += ord(sentence[i]) word += sentence[i] # Calculate the average of last word average = sum // len(word) print(word , " - " , average)# Driver codeif __name__ == "__main__": # Get the sentence sentence = "Learning a string algorithm" # Calculate the average calculateAverage(sentence)# This code is contributed # by ChitraNayal |
C#
// C# implementation of above approachusing System;class GFG { // Function to calculate the // average of each word in a sentence static void calculateAverage(String sentence) { // Word initialised to an empty string String word = ""; // Sum of ascii values int sum = 0; int len = sentence.Length; int average = 0; for (int i = 0; i < len; ++i) { // If character is a space if (sentence[i] == ' ') { // Calculate the average average = sum / word.Length; Console.WriteLine(word + " - " + average); // Clear the word and // set the sum to 0 word=""; sum = 0; } else { // Add the ascii value to sum and // also add the letter to the word sum += sentence[i]; word += sentence[i]; } } // Calculate the average of last word average = sum / word.Length; Console.Write(word + " - " + average); } // Driver code public static void Main() { // Get the sentence String sentence = "Learning a string algorithm"; // Calculate the average calculateAverage(sentence); } } // This code is contributed // by PrinciRaj1992 |
Javascript
<script> // JavaScript implementation of above approach // Function to calculate the // average of each word in a sentence function calculateAverage(sentence) { // Word initialised to an empty string var word = ""; // Sum of ascii values var sum = 0; var len = sentence.length; var average = 0; for (var i = 0; i < len; ++i) { // If character is a space if (sentence[i] === " ") { // Calculate the average average = parseInt(sum / word.length); document.write(word + " - " + average + "<br>"); // Clear the word and // set the sum to 0 word = ""; sum = 0; } else { // Add the ascii value to sum and // also add the letter to the word sum += sentence[i].charCodeAt(0); word += sentence[i]; } } // Calculate the average of last word average = parseInt(sum / word.length); document.write(word + " - " + average + "<br>"); } // Driver code // Get the sentence var sentence = "Learning a string algorithm"; // Calculate the average calculateAverage(sentence); </script> |
Output
Learning - 102 a - 97 string - 110 algorithm - 107
Time Complexity: O(N)
Auxiliary Space: O(N)
Feeling lost in the world of random DSA topics, wasting time without progress? It’s time for a change! Join our DSA course, where we’ll guide you on an exciting journey to master DSA efficiently and on schedule.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 zambiatek!
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 zambiatek!


