首页 > 试题广场 >

求平均值

[编程题]求平均值
  • 热度指数:27706 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
写一个bash脚本以实现一个需求,求输入的一个数组的平均值

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

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

输入

4
1
2
9
8

输出

5.000
头像 流§云
发表于 2021-09-09 09:43:17
艹,很简单的一个东西折腾了半天,“第1行为输入的数组长度N”,一直以为是第一行为,第2~N行为,我这阅读理解简直满分,通过率才26.39%,我感觉理解错的不止我一个,而且还有很多是直接输出结果6.333通过的,服了 awk '{if(NR==1) {N=$1} else{sum+=$1}} END{ 展开全文
头像 郭富成
发表于 2021-08-20 17:15:28
#!/usr/bin/env bash function solution_1() { read count local sum=0 local loop=${count} while (( ${loop} > 0)); do read m 展开全文
头像 破竹GYH
发表于 2022-05-09 16:57:58
```#!/bin/bash sum=0 i=1 read n for ((i=1;i<=n;i++)) do read m sum=$(($sum+$m)) done echo "scale=3;$sum/$n" | bc
头像 江湖人称十一郎
发表于 2022-12-23 16:40:53
num=$(($(cat nowcoder.txt | wc -l)-1)) 取行数减1,即参与计算的数值个数sum=0for i in $(tail -n $num nowcoder.txt) 展开全文
头像 把offer请过来
发表于 2021-05-19 16:56:46
awk '{if(NR==1)fm=1}END{printf "%.3f", ((count-fm)*1.000/fm)}' nowcoder.txt
头像 henrychen222
发表于 2022-05-13 19:04:29
shell awk代码 awk ' NF < 0 { if (NR > 1) s += $1 } END {printf "%.3f\n", s / (NR - 1)} '
头像 阿尔可
发表于 2021-08-28 00:33:54
试了两种方法,第一种是从文件读取,第二种是从命令行输入(可以,但是平台不给我过);去查了一下,说是bash不支持浮点数,所以要用bc或awk来输出浮点数; #第一种 #!/bin/bash row=0 sum=0 num=0 while read line do if [[ row 展开全文
头像 liudelantu
发表于 2024-08-24 16:13:49
#!/bin/bash awk '{ if (NR > 1) sum += $1 } END{ printf("%0.3f\n", sum/(NR-1)) } ' awk真无敌第1行为输入的数 展开全文
头像 好好程序员
发表于 2023-08-06 21:46:27
#!/bin/bash #获取从第二行开始后面数据的总和 sum=`awk 'NR>=2 {sum+=$1}END{printf("%.3f",sum)}' nowcoder.txt` #获取第一行数据 length=`awk 'NR==1 {printf("% 展开全文
头像 裙下之臣0012
发表于 2024-04-29 16:55:43
#!/bin/bash read n sum=0 temp=0 for (( i=0;i<n;i++ )) do read temp sum=$(( sum+temp )); done #echo $sum echo $( echo "scale=3; $sum/ 展开全文