写一个bash脚本以实现一个需求,求输入的一个数组的平均值
第1行为输入的数组长度N
第2~N行为数组的元素,如以下为:
数组长度为4,数组元素为1 2 9 8
示例:
4
1
2
9
8
那么平均值为:5.000(保留小数点后面3位)
你的脚本获取以上输入应当输出:
5.000
#!/bin/bash sum=0 n=0 while IFS='$\n' read -r line; do if [[ $n == 0 ]] then n=$(($line)) else temp=$(($line)) sum=$(($sum+$temp)) fi done printf "%.3f\n" $((1000000000*sum/n))e-9 exit 0
awk '{ if(NR == 1){N = $0} else{sum+=$0} } END{printf("%.3f", sum/N)}'
awk ' NF < 0 { if (NR > 1) s += $1 } END {printf "%.3f\n", s / (NR - 1)} '
awk '{NR==1?len=$1:sum+=$1}END{printf "%.3f",sum/len}' nowcoder.txt