shell指令碼----輸入一個整數,將每個位上的數輸出出來,並求和

小亮520cl發表於2015-02-12
---我只會這樣寫,求大神給出一些好的方法

#! 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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章