shell脚本----输入一个整数,将每个位上的数输出出来,并求和

---我只会这样写,求大神给出一些好的方法

#! bin/bash
echo "input a number "
read m
sum=0
echo $m>tt.txt
n=` cat tt.txt|wc -c`
let "c=$n-1"    ---看一下几位数,好判断循环的次数

for i in $(seq 1 $c)
do
let "g=$m%10"    ----循环取摸
let "m=$m/10"     ----取膜后在赋值,好再次取模
echo -n  "$g "
let "sum=$sum+$g"   ---求和
done

echo  "sum=$sum"



这样也可以:
#! bin/bash
echo "input a number "
read m
sum=0
for i in $(seq 1 15)      ---取个大的,保证循环次数够
do


  let "g=$m%10"
  let "m=$m/10"
  echo  "$g "
  let "sum=$sum+$g"
  if [ $m -eq 0 ]
    then
    echo  "sum=$sum"
    exit 0
  fi
 done

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29096438/viewspace-1434439/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29096438/viewspace-1434439/

你可能感兴趣的:(shell脚本----输入一个整数,将每个位上的数输出出来,并求和)