Open In App

Average of ASCII values of characters of a given string

Improve
Improve
Like Article
Like
Save
Share
Report

Given a string, the task is to find the average of ASCII values of characters in the string.

Examples:  

Input: str = “for”
Output: 109
‘f’= 102, ‘o’ = 111, ‘r’ = 114
(102 + 111 + 114)/3 = 109

Input: str = “geeks”
Output: 105

Source: Microsoft Internship Experience

Approach: Start iterating through characters of the string and add their ASCII value to a variable. Finally, divide this sum of ASCII values of characters by the length of the string i.e., the total number of characters in the string. 

Implementation:

C++




// C++ code to find average
// of ASCII characters
#include <bits/stdc++.h>
using namespace std;
 
// Function to find average
// of ASCII value of chars
int averageValue(string s)
{
    int sum_char = 0;
 
    // loop to sum the ascii
    // value of chars
    for (int i = 0; i < s.length(); i++)
    {
        sum_char += (int)s[i];
    }
 
    // Returning average of chars
    return sum_char / s.length();
}
 
// Driver code
int main()
{
    string s = "GeeksforGeeks";
 
    cout << averageValue(s);
    return 0;
}
 
// This code is contributed
// by Subhadeep


Java




// Java code to find average of ASCII characters
import java.io.*;
 
class GFG {
 
    // Function to find average of ASCII value of chars
    public static int averageValue(String s)
    {
        int sum_char = 0;
 
        // loop to sum the ascii value of chars
        for (int i = 0; i < s.length(); i++) {
            sum_char += (int)s.charAt(i);
        }
 
        // Returning average of chars
        return sum_char / s.length();
    }
 
    // Driver code
    public static void main(String[] args)
    {
 
        String s = "GeeksforGeeks";
 
        System.out.println(averageValue(s));
    }
}


Python 3




# Python 3 code to find average
# of ASCII characters
 
# Function to find average
# of ASCII value of chars
def averageValue(s):
    sum_char = 0
 
    # loop to sum the ascii
    # value of chars
    for i in range(len(s)):
        sum_char += ord(s[i])
 
    # Returning average of chars
    return sum_char // len(s)
 
# Driver code
if __name__ == "__main__":
     
    s = "GeeksforGeeks"
 
    print(averageValue(s))
 
# This code is contributed by ita_c


C#




// C# code to find average of
// ASCII characters
using System;
 
class GFG
{
 
// Function to find average of
// ASCII value of chars
public static int averageValue(String s)
{
    int sum_char = 0;
 
    // loop to sum the ascii value of chars
    for (int i = 0; i < s.Length; i++)
    {
        sum_char += (int)s[i];
    }
 
    // Returning average of chars
    return sum_char / s.Length;
}
 
// Driver code
public static void Main()
{
    String s = "GeeksforGeeks";
 
    Console.Write(averageValue(s));
}
}
 
 
// This code is contributed
// by PrinciRaj1992


Javascript




<script>
// Javascript code to find average of ASCII characters
     
    // Function to find average of ASCII value of chars
    function averageValue(s)
    {
        let sum_char = 0;
   
        // loop to sum the ascii value of chars
        for (let i = 0; i < s.length; i++) {
            sum_char +=(s[i]).charCodeAt(0);
            
        }
   
        // Returning average of chars
        return Math.floor(sum_char / s.length);   
    }
     
    // Driver code
    let s = "GeeksforGeeks";
    document.write(averageValue(s));
 
 
 
// This code is contributed by avanitrachhadiya2155
</script>


PHP




<?php
// PHP code to find average
// of ASCII characters
 
// Function to find average
// of ASCII value of chars
function averageValue( $s)
{
    $sum_char = 0;
     
    // loop to sum the ascii
    // value of chars
    for ( $i = 0; $i < strlen($s); $i++)
 
    {
         
        $sum_char += ord($s[$i]);
    }
     
    // Returning average of chars
    return (int)($sum_char / strlen($s));
}
 
// Driver code
$s = "GeeksforGeeks";
 
echo averageValue($s);
 
// This code is contributed
// by 29AjayKumar
?>


Output

101

complexity Analysis:

  • Time Complexity: O(l), where l is the length of the string. 
  • Auxiliary Space: O(1)

Approach:

  1. Initialize a variable sum to 0 to store the sum of ASCII value of all characters.
  2. Traverse the string and for each character, add its ASCII value to sum.
  3. Calculate the average by dividing sum by the length of the string.

Below is the implementation of the above approach:

C++




#include <bits/stdc++.h>
using namespace std;
 
int averageValue(string s)
{
    int sum = accumulate(s.begin(), s.end(), 0, [](int acc, char c)
                         { return acc + (int)c; });
    return sum / s.length();
}
 
int main()
{
    string s = "GeeksforGeeks";
    cout << averageValue(s) << endl;
    return 0;
}


Java




import java.util.*;
 
public class Main {
public static int averageValue(String s)
{
        int sum = s.chars().sum();
        return sum / s.length();
}
public static void main(String[] args){
        String s = "GeeksforGeeks";
        System.out.println(averageValue(s));
    }
}


Python3




def averageValue(s):
    sum = 0
    for c in s:
        sum += ord(c)
    return sum // len(s)
 
s = "GeeksforGeeks"
print(averageValue(s))


C#




using System;
 
public class Program
{
    // Function to calculate the average ASCII value of characters in a string
    public static int AverageValue(string s)
    {
        int sum = 0; // Initialize a variable to store the sum of ASCII values
 
        // Iterate through each character in the input string
        foreach (char c in s)
        {
            // Add the ASCII value of the character to the sum
            sum += (int)c;
        }
 
        // Calculate and return the average value by dividing the sum by the length of the string
        return sum / s.Length;
    }
 
    public static void Main(string[] args)
    {
        string s = "GeeksforGeeks"; // Sample input string
        int average = AverageValue(s); // Calculate the average ASCII value
 
        // Display the result
        Console.WriteLine(average);
    }
}


Javascript




// Function that returns the average ASCII value of characters in a string
function averageValue(s) {
    let sum = s.split('').reduce((acc, c) => acc + c.charCodeAt(0), 0);
    return Math.floor(sum / s.length);
}
 
let s = "GeeksforGeeks";
console.log(averageValue(s));


Output

101

Time Complexity: O(n), where n is the length of the string.
Auxiliary Space: O(1)



Last Updated : 08 Feb, 2024
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads