Linux操作,8、设计一个shell程序计算n的阶乘。要求: (1)从命令行接收参数n;
(2)在程序开始后立即判断n的合法性,即是否有参数,若有是否为正整数,若非法请给错误提示;(3)最后输出计算的结果,并在程序最后使用echo命令输出学号。这个应该怎么做...
(2)在程序开始后立即判断n的合法性,即是否有参数,若有是否为正整数,若非法请给错误提示;
(3)最后输出计算的结果,并在程序最后使用echo命令输出学号。
这个应该怎么做 展开
(3)最后输出计算的结果,并在程序最后使用echo命令输出学号。
这个应该怎么做 展开
1个回答
展开全部
if [ -z $1 ];then
echo 你没有输入参数
exit 1
fi
case $1 in
*[!0-9]*) echo 你输入的不是合法数字
exit 1;;
*) n=$1;;
esac
if [ $n -le 0 ];then
echo 你输入的不是正整数
exit 1
fi
frac=1
while [ $n -gt 0 ]
do
frac=$((frac * n))
n=$((n - 1))
done
echo 阶乘为:$frac
echo 学号
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询