shell编程练习9

编写脚本程序:编写一个函数,用来计算某值的阶乘。然后从键盘输入n,调用该函数,计算1到n的阶乘的和。如果输入的n小于0或大于10,则重新输入。 


小编在之前的博客中发过一道类似的题目,最近准备考试,发现老师喜欢出题实现“重新输入”,所以做了改编。

程序清单:

#!/bin/bash

fun(){

n=1

s=1

while  [  $n  -le  $1  ]

do

     s=`expr  $n \* $s`

     n=`expr  $n + 1`

done

return $s

}

add(){

sum=0

i=1

while  [  $i  -le  $1  ]

do

fun $i

sum=$(($sum+$s))

i=$(($i+1))

done

return $sum

}

result(){

read  n

if  [  $n  -ge  0  -a  $n  -le  10  ]

then

    add  $n

    echo  "The sum is $sum"

else 

result

fi

}

result

exit 0

你可能感兴趣的:(shell编程练习9)