当前位置: 技术问答>linux和unix
linux 程序
来源: 互联网 发布时间:2016-03-29
本文导语: 编写一段B-Shell脚本程序,读入10个整数,打印它们的累加和。 | B-Shell是bash么?如果是的话 1 #/bin/bash 2 printf "Please Enter 10 numbers.use ,between two numbers:n" 3 read var 4 5 declare -...
编写一段B-Shell脚本程序,读入10个整数,打印它们的累加和。
|
B-Shell是bash么?如果是的话
1 #/bin/bash
2 printf "Please Enter 10 numbers.use ,between two numbers:n"
3 read var
4
5 declare -i sum
6 for i in `seq 1 10`
7 do
8 var1=${var%%,*}
9 var=${var#*,}
10 if [ "${var1}" = "${var}" ] ; then
11 if [ ${i} -ne 10 ]
12 then
13 echo "error! number's num is not 10!"
14 exit -1
15 fi
16 sum=sum+var1
17 break
18 fi
19 sum=sum+var1
20 done
21 echo ${sum}
总觉得应该有更简单的方法,可是想出别的了
1 #/bin/bash
2 printf "Please Enter 10 numbers.use ,between two numbers:n"
3 read var
4
5 declare -i sum
6 for i in `seq 1 10`
7 do
8 var1=${var%%,*}
9 var=${var#*,}
10 if [ "${var1}" = "${var}" ] ; then
11 if [ ${i} -ne 10 ]
12 then
13 echo "error! number's num is not 10!"
14 exit -1
15 fi
16 sum=sum+var1
17 break
18 fi
19 sum=sum+var1
20 done
21 echo ${sum}
总觉得应该有更简单的方法,可是想出别的了
|
bsh不是bash,这个好像我回答过这个问题~
应该这样写:
i=10
sum=0
while [ $i != 0 ]
do
read tmp
sum=`expr $sum + $tmp`
i=`expr $i – 1`
done
echo $sum
应该这样写:
i=10
sum=0
while [ $i != 0 ]
do
read tmp
sum=`expr $sum + $tmp`
i=`expr $i – 1`
done
echo $sum