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

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

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

思路:记录总和和行数,求平均,并进行四舍五入

awk

循环

方法1:awk

#!/bin/bash
awk '{
if(NR == 1) {
rows=$0
} else {
sum+=$0
}
}END{
printf("%.3f",sum/rows)
}' nowcoder.txt

方法2:循环

shell脚本--let、expr、bc、scale的用法

#!/bin/bash
num = 0
row = 0
sum = 0
while read line
do
# $line在外面表示当前行的值
# 在[]内部,line表示值
if [[ row -eq 0 ]]
then
num=$line
else
((sum+=line))
fi
((row++))
done < nowcoder.txt
echo "scale=3;$sum/$num" | bc

最新文章

  1. nodejs express 静态文件的路径
  2. win10环境下ue4使用游戏手柄输入
  3. [deviceone开发]-do_SlideListView的简单示例
  4. freemarker学习
  5. WebView 获取网页点击事件
  6. Jqeury获取table当前行与指定列
  7. BigInteger
  8. MYSQL 不排序
  9. 解决Android SDK Manager下载太慢问题(转)
  10. js 倒计时 已过去时间
  11. poj 2689 大范围内素数筛选
  12. C#后台代码编写图片地址Properties.Resources._1;
  13. Android数据库专家秘籍(七)经验LitePal查询艺术
  14. FileReader实现图片预览,并上传(js代码)
  15. js数字货币格式互转
  16. HTTP 05 安全
  17. 查找xml中的接口名及涉及表名并输出
  18. jQuery简单效果
  19. 电子印章在Odoo的实现步骤
  20. jdk各种老版本的下载链接

热门文章

  1. ProxySQL Disk库和Stats库
  2. SNI 路由和多协议端口的 TCP
  3. 配置logstash消费kafka多个topic,分别生成索引
  4. 【C++】从零开始的CS:GO逆向分析2——配置GLFW+IMGUI环境并创建透明窗口
  5. C#-01 关于C#中传入参数的一些用法
  6. MySQL实战,SQL语句
  7. gitee仓库上传文件的步骤
  8. .NET 7 RC 2 发布,倒计时一个月发布正式版
  9. 微信支付更新功能,商户转账到零钱 php版 (2022-10-12更新)
  10. 在vue中_this和this的区别