连续输入4个100以内的数字,统计和、乘、平均、最小和最大

#!/bin/bash
#作者:魏波
#时间:2017.02.04COUNT=1
SUM=0
MIN=0
MAX=0
AVG_INT=0
AVG_FLOAT=0
MUL=1
while [ $COUNT -le 4 ]
doread -p "请输入1-10个整数:" input_numberif [[ ! $input_number =~ ^[0-9]+$ ]]; thenecho "输入必须是整数!"exit 1elif [[ $input_number -gt 100 ]]; thenecho "输入必须是100以内!"exit 1fiSUM=$(($SUM+$input_number))AVG_INT=`expr $SUM / $COUNT`AVG_FLOAT=`echo "scale=2;$SUM / $COUNT" | bc `MUL=`expr $input_number \* $MUL`[ $MIN -gt $input_number ] && MIN=$input_number[ $MAX -lt $input_number ] && MAX=$input_numberlet COUNT++
doneecho "MIN: $MIN"
echo "MAX: $MAX"
echo "SUM: $SUM"
echo "AVG_INT: $AVG_INT"
echo "AVG_FLOAT: $AVG_FLOAT"
echo "MUL: $MUL"

结果:

说明:

1、 if [[ ! $input_number =~ ^[0-9]+$ ]]

(1)=~表示匹配

(2)^表示是以什么开头

(3)[0-9]表示范围内都是数字

(4)+表示一个或多个

(5)$表示结尾

总的来说就是:输入的变量input_number匹配到的不是以数字开头并结尾的就执行if里面的动作

2、AVG_INT=`expr $SUM / $COUNT`

expr  /: 表示整数的除法

3、 AVG_FLOAT=`echo "scale=2;$SUM / $COUNT" | bc `

scale可以指定小数位数

shell实例第17讲:连续输入4个100以内的数字,统计和、乘、平均、最小和最大相关推荐

  1. shell实例第9讲:判断用户输入的是否为IP地址

    #!/bin/bash #作者:魏波 #时间:2017.02.04function check_ip(){IP=$1VALID_CHECK=$(echo $IP|awk -F. '$1<=255 ...

  2. shell实例第10讲:判断用户输入的是否为数字

    #!/bin/bash #作者:魏波 #时间:2017.02.04if [ -n "$1" ]; thenif [[ $1 =~ ^[0-9]+$ ]]; thenecho &qu ...

  3. shell实例第22讲:shell中分隔符IFS用法

    shell中分隔符IFS用法 1.什么是IFS? IFS在shell中是分隔符的意思,即IFS这个变量中存放了分隔符. 2.IFS是全局变量还是局部变量? (1)linux中变量分两种:全局变量env ...

  4. shell实例第3讲:获取随机8位数字

    获取随机8位数字常用三种方法: 方法一: echo $RANDOM |cksum |cut -c 1-8 说明: (1)shell cksum 命令用于检查文件的CRC是否正确. 确保文件从一个系统传 ...

  5. shell实例第20讲:linux shell date的用法

    linux shell date的用法 转自:https://www.cnblogs.com/faberbeta/p/linux-shell002.html 1.date中的参数 %% 一个文字的 % ...

  6. shell实例第19讲:一个脚本中调用另一个脚本的3种方法

    在Shell脚本中调用另一个脚本(3种方法) 准备:主脚本是second.sh,主脚本中调用first.sh 方法1:exec(1)执行方式:exec /home/weibo/shell_test/s ...

  7. shell实例第18讲:利用gzexe加密shell脚本

    利用gzexe加密shell脚本 gzexe_test.sh内容如下: #!/bin/bashecho "gzexe test!" 结果: 使用gzexe加密shell脚本命令:g ...

  8. shell实例第16讲:猜拳游戏

    #!/bin/bash #Author:weibo #TIME:2017.01.03game="石头剪刀布游戏中机器人是:"while true doecho "请根据下 ...

  9. shell实例第15讲:俄罗斯方块游戏

    运行结果图: #!/bin/bash #作者:魏波 #时间:2017.02.04APP_NAME="${0##*[\\/]}" APP_VERSION="1.0" ...

最新文章

  1. matlab中cell用法
  2. head first-----------adpter pattern
  3. 【案例】无线串口模块 星型网络组网 案例
  4. 滤波 放电速度比充电慢 模电
  5. leetcode 85 python
  6. 计算机专业笔记本需要小键盘吗,笔记本电脑小键盘数字0不能用
  7. “滴血验癌”?昔日“女乔布斯”被控诈骗!身价估值从290亿元直降为0!或面临20年刑期...
  8. 在 Mac OS X 安装gcc编辑环境,make不能用时参考
  9. 2级c语言题库及答案,计算机二级C语言上机题库含答案解析
  10. java 万年历接口
  11. 汽车故障检测仪计算机教程,如何使用汽车故障诊断仪进行汽车维修
  12. 2000份简历模板 唯美时尚简约个人简历模板 英文简历模板 简历封面 自荐信下载
  13. 终其一生只是个普通人,你会后悔吗?
  14. C#操作三菱FX系列PLC数据
  15. [经验栈]C#监测IPv4v6网速及流量
  16. 智能路由器VS传统路由器:未来由谁主宰?
  17. 机器学习概述----机器学习并没有那么深奥,它很有趣(2)
  18. 【热门书籍】温度决定生老病死 作者:马悦凌
  19. Java 近期新闻:Classfile API 草案、Spring Boot、GlassFish、Reactor 项目、Micronaut
  20. 项目3-2-----多肉

热门文章

  1. Linux入门:部署JavaWeb项目
  2. 【luogu P1558 色板游戏】 题解
  3. 剑指offer解题思路锦集11-20题
  4. 11.typescript-元组
  5. Errors are values
  6. image和TFRecord互相转换
  7. hdu1394线段树点修改,区间求和
  8. CNN如何识别一幅图像中的物体
  9. iOS学习笔记16-SQLite应用
  10. Swift和OC文件间的相互调用