(1) 实验内容要求 1.掌握一些高级的Bourne shell程序语句。 2.使用Bourne shell编写一段程序脚本,完成以下功能: 用户输入若干(最多9个)个数字,求用户所输入的所有数字的平均数。 (2) 实验结果 该程序代码如下:
时间: 2024-03-18 22:40:38 浏览: 63
Bourne Shell及shell编程
以下是 Bourne shell 编写的求平均数的脚本程序:
```sh
#!/bin/sh
# 提示用户输入数字
echo "请输入数字,最多输入9个,以空格分隔:"
# 读取用户输入的数字,使用空格作为分隔符
read -a numbers
# 计算数字个数和总和
count=0
sum=0
for number in "${numbers[@]}"; do
if [ -n "$number" ]; then
count=$((count + 1))
sum=$((sum + number))
fi
done
# 计算平均数
if [ "$count" -gt 0 ]; then
average=$(echo "scale=2; $sum / $count" | bc)
echo "平均数为:$average"
else
echo "没有输入数字!"
fi
```
这个脚本程序首先提示用户输入数字,并使用 `read` 命令读取用户输入的数字,存储在名为 `numbers` 的数组中。
接下来,使用 `for` 循环遍历数组中的每个数字,计算数字个数和总和。需要注意的是,由于用户输入的数字可能包含空格,因此需要使用 `if` 判断当前数字是否为空。
最后,如果数字个数大于 0,则计算平均数,并输出结果。否则,输出提示信息。
需要注意的是,在计算平均数时,使用了 `bc` 命令来进行小数运算,并使用 `echo` 命令来进行输出。`scale=2` 表示精确到小数点后两位。
阅读全文