题解 | #shell/bash求平均值#

求平均值

http://www.nowcoder.com/practice/c44b98aeaf9942d3a61548bff306a7de

#!/usr/bin/env bash

function solution_1() {
    read count
    local sum=0
    local loop=${count}
    while (( ${loop} > 0)); do
        read m
        sum=$((${sum}+${m}))
        loop=$((${loop}-1))
    done
    echo "scale=3; ${sum}/${count}" | bc 
}

function solution_2() {
    read count
    local sum=0
    local loop=1
    while (( ${loop} <= ${count})); do
        read m
        ((sum+=m))
        ((loop++))
    done
    echo "scale=3; ${sum}/${count}" | bc 
}

function solution_3()  {
    awk 'NR==1{all=$0} NR>1{total+=$0} END{printf "%.3f" ,total/all}'
}

function solution_4()  {
    read -p '请输入数组长度:' len
    i=1
    while [ $i -le $len ]
    do
        read -p '请输入数组数字:' num[$i]
        let i++
    done
    for i in ${num[*]}
    do
        sum=$((sum+i))
    done
    echo "scale=3; ${sum}/${len}" | bc 
    #awk -va=$sum -vb=$len 'BEGIN{printf "%.3f\n",a / b }'
}

function solution_999() {
    read n
    sum=0
    read m
    arr=($m)
    for ele in ${arr{@}}; do 
        sum=$((${sum}+${ele}))
    done
    echo "scale=3; ${sum}/${n}" | bc 
}

solution_1
全部评论

相关推荐

06-10 23:36
已编辑
首都经济贸易大学 C++
点赞 评论 收藏
分享
06-07 19:59
门头沟学院 C++
补药卡我啊😭:都快15年前的了还在11新特性
你的简历改到第几版了
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-02 15:39
点赞 评论 收藏
分享
评论
9
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务