生成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.验证
验证
查看执行过程