题解 | #求平均值#
求平均值
http://www.nowcoder.com/practice/c44b98aeaf9942d3a61548bff306a7de
试了两种方法,第一种是从文件读取,第二种是从命令行输入(可以,但是平台不给我过);
去查了一下,说是bash不支持浮点数,所以要用bc或awk来输出浮点数;
#第一种 #!/bin/bash row=0 sum=0 num=0 while read line do if [[ row -eq 0 ]] then num=${line} else ((sum+=line)) fi ((row++)) done < test4.txt echo "scale=3;${sum}/${num}" | bc #第二种 #!/bin/bash read len str="" for((i=0;i<len;i++)) do read tmp str=${str}" "${tmp} done awk -F" " '{sum=0;for(j=1;j<=NF;j++){sum+=$j}printf("%.3f",sum/NF);}' <<< $str