shell脚本生成随机数并找出最大值和最小值

生成10个随机数并找出最大值和最小值

1.问题

1)如何生成随机数

2)如何取最大值和最小值

2.分析

1)使用for循环从0开始,每次循环增加1,直到增加到小于10为止

2)初始化最大值和最小值

3)当生成的随机数大于最大值小于最小值时需要更新一下

3.流程图

4.实现

#!/bin/bash
declare -i min max #声明整数
declare -a nums #声明数组

#从0开始,每次循环增加1,直到增加到小于10为止
for ((i=0;i<10;i++)); do
    num[$i]=$RANDOM #RANDOM是bash的一个特殊变量,每次引用都会生成一个介于0到32767之间的随机数
    if [ $i -eq 0 ]; then #初始化最大值和最小值(为第一个数组)
        min=${num[$i]}
        max=${num[$i]}
    else
        if [ ${num[$i]} -lt $min ]; then #当这个数小于最小值时,需要更新一下
            min=${num[$i]}
        fi
        if [ ${num[$i]} -gt $max ]; then #同理大于最大值时
            max=${num[$i]}
        fi
    fi
done
echo "所有的数:${num[*]}"
echo "最大值为:$max"
echo "最小值为:$min"

5.实现解析

1)declare 命令声明整数和数组

2)使用for循环来实现生成几个随机数

3)引用了一个特殊变量RANDOM,每次引用都会生成一个介于0到32767之间的随机数,所以这个随机数会在这个区间生成

4)使用if语句来初始化最大值和最小值,当生成的随机数大于最大值时或小于最小值时我们就给它更新以下

5)最后输出所有数、最大值和最小值

6.验证

验证

查看执行过程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值