In this HackerRank Compute the Average problem solution we have given N integers, and compute their average and rounded to three decimal places.
Input format
The first line contains an integer N.
Each of the following N lines contains a single integer.
Output format
Display the average of the N integers, rounded off to three decimal places.
Input Constraints
1 <= N <= 500
-10000 <= x <= 10000 (x refers to elements of the list of integers for which the average is to be computed)
Problem solution.
read num sum=0 i=0 while [ $i -lt $num ] do read x #sum=$((sum + x)) let sum=sum+x let i=i+1 done printf "%0.3fn" $(echo "scale=5; $sum / $num" | bc -l)
Second solution.
#!/bin/bash read x sum=0 for i in `seq 1 $x` do read y sum=$(( $sum+$y )); done sum=`echo $sum/$x | bc -l`; printf "%.3lfn" $sum
Third solution.
read N export tot=`awk 'BEGIN {tot=0}; {tot+=$1}; END {print tot}'` export avg=`echo "$tot/$N" | bc -l` #echo $tot $N $avg printf %.3f "$avg"