【发布时间】:2018-12-24 21:30:31
【问题描述】:
我正在服用 a challenge on hackerrank 。 目标是:
读取 (int) N;然后读取 N 个整数并打印它们的avg到三个小数位。 p>
代码如下:
#!/bin/bash
#file name:rdlp.sh
read N
s=0
i=1
while (($i<=$N))
do
read a
s=$((s+a))
i=$((i+1))
done
s=$s/$N
echo "scale=3;$s"|bc -l
fi
当我为某些输入运行代码时:
3 #(N的值)
4 #(N = 3 个整数)
4
3
那么输出是3.666,但应该是3.667。
所以 QUESTION 是无论如何都可以得到它正确(正确的四舍五入),或者只有这样吗?
(当上面的代码为Testcase2 of the challenge at hackerrank运行时,问题就出来了)
【问题讨论】: