我做了一个循环来找到从(1到10 mod 5)+ 2
计算每个数字的结果for (( i = 0; i <= 10; i++))
do
calculate=$(( i % 5 + 2 ))
echo "($i % 5) + 2 = " $calculate
done
average=$(($calculate/10))
echo $average`
我的问题是修复我的代码,以便我可以获取循环的所有结果并找到它们的平均值 它返回0表示平均值
答案 0 :(得分:1)
你必须保持一个完整的总数 - ($calculate/10)
只是最后次迭代。在循环total = 0
之前将运行总计初始化为零...然后将计算值添加到循环的每次迭代中的总计total = $( $total + $calculate )
然后平均值为total/10
(不计算/ 10)。
#!/bin/bash
total=0
for (( i = 0; i <= 10; i++))
do
calculate=$(( i % 5 + 2 ))
total=$(( $total + $calculate ))
echo "($i % 5) + 2 = " $calculate
done
#average=$(($calculate/10))
average=$(($total/10))
echo $average