linux shell程序设计,输入n,计算1+1/2+1/3+...+1/n。要求调用bc 50
展开全部
[oracle@localhost test]$ cat c.sh
#!/bin/sh
b=0
echo "请出入n的值:"
read n
for ((a=1;a<=n;a++))
do
b=1/$a+$b
done
c=`bc<<!
scale=5
$b
!
`
echo "运算式是:$b"
echo "最后的结果是:$c"
[oracle@localhost test]$ sh c.sh
请出入n的值:
20
运算式是:1/20+1/19+1/18+1/17+1/16+1/15+1/14+1/13+1/12+1/11+1/10+1/9+1/8+1/7+1/6+1/5+1/4+1/3+1/2+1/1+0
最后的结果是:3.59768
[oracle@localhost test]$
#!/bin/sh
b=0
echo "请出入n的值:"
read n
for ((a=1;a<=n;a++))
do
b=1/$a+$b
done
c=`bc<<!
scale=5
$b
!
`
echo "运算式是:$b"
echo "最后的结果是:$c"
[oracle@localhost test]$ sh c.sh
请出入n的值:
20
运算式是:1/20+1/19+1/18+1/17+1/16+1/15+1/14+1/13+1/12+1/11+1/10+1/9+1/8+1/7+1/6+1/5+1/4+1/3+1/2+1/1+0
最后的结果是:3.59768
[oracle@localhost test]$
展开全部
sh-3.2# cat a
#!/bin/bash
i=$1
sum=0
for j in `seq 1 1 $i`
do
s=`echo 1/$j|bc -l`
sum=`echo $sum + $s|bc -l`
done
echo $sum
sh-3.2# sh a 5
2.28333333333333333333
sh-3.2# sh a 6
2.44999999999999999999
sh-3.2# sh a 7
2.59285714285714285713
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询