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

• Last Updated : 18 May, 2021

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:

1. Take an empty string and start traversing the sentence letter by letter.
2. Add letter to the string and add its ASCII value to the sum.
3. If there is an empty space calculate the average by dividing the sum by the length of the string (word)
4. Clear the string so that it can be used for the next word
5. Also set the sum to zero.

Below is the implementation of the above approach:

## C++

 `// C++ program of the above approach` `#include ``using` `namespace` `std;` `// Function to calculate the``// average of each word in a sentence``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[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 code``int` `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 sentence``def` `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 code``if` `__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 approach``using` `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

 ``

Output:

```Learning - 102
a - 97
string - 110
algorithm - 107```

Time Complexity: O(N)

My Personal Notes arrow_drop_up