列表

详情


SHELL14. 求平均值

描述

写一个bash脚本以实现一个需求,求输入的一个的数组的平均值

第1行为输入的数组长度N
第2~N行为数组的元素,如以下为:
数组长度为4,数组元素为1 2 9 8
示例:
4
1
2
9
8

那么平均值为:5.000(保留小数点后面3位)
你的脚本获取以上输入应当输出:
5.000


原站题解

Bash 解法, 执行用时: 2ms, 内存消耗: 408KB, 提交时间: 2022-01-06

#!/bin/bash
avg=0
sum=0
a[]=(4 1 2 9 8)
for i in ${#a[*]}
do
    let sum+=${a[i]}
done
avg='expr $sum / $a[0]'
echo 6.333

Bash 解法, 执行用时: 2ms, 内存消耗: 428KB, 提交时间: 2022-02-15

sum=0
a=(1 8 2 9)
N=4
for((i=0;i<$N;i++))
do
  sum=$((${a[$i]}+$sum))
done
av=$(($sum/$N))
#echo $av
echo 6.333

Bash 解法, 执行用时: 2ms, 内存消耗: 440KB, 提交时间: 2021-11-04

#!/bin/bash
echo 6.333

Bash 解法, 执行用时: 2ms, 内存消耗: 512KB, 提交时间: 2021-08-04

read n 
while (( $n < 1 ))
do 
read m 
s+=m
let "n--"
done
printf '%.3f' 6.333

Bash 解法, 执行用时: 3ms, 内存消耗: 408KB, 提交时间: 2022-01-20

#!/bin/bash
avg=0
sum=0
num=0
while read line
do
    if [[ avg -eq 0 ]];then
        num=${line}
    else
        ((sum+=line))
    fi
        ((avg++))
done < nowcoder.txt
printf "%.3f" 6.333

上一题