编写一个shell脚本程序,实现100的阶乘并输出
答案:2 悬赏:10 手机版
解决时间 2021-11-11 20:32
- 提问者网友:容嬷嬷拿针来
- 2021-11-11 09:47
编写一个shell脚本程序,实现100的阶乘并输出
最佳答案
- 五星知识达人网友:玩世
- 2021-11-11 10:44
脚本至少有如下错误:
{j}改为${j}或$j,是要取值的啊
expr语句外面是反引号(键盘上ESC下面那个键)而不是单引号,表示执行命令而不是单纯一个字符串,expr后面的运算符左右两侧要有空格。
if跟[之间是要有空格的,if判断表达式比较符两侧也要有空格,数字跟 [ ]之间要有空格。
我修正了,自己运行成功生成你要的数列了。你自己对比下吧:
#!/bin/bash
#script name prg8.sh
clear
i=1
for ((j=1;j<=98;j++))
do
echo -n "$j,`expr $j + 2`,"
if [ $i -eq 10 ]
then
echo ""
i=1
else
i=$((i+1))
fi
done
echo ""
注释里已经说了,script name prg8.sh,脚本名叫prg8.sh,当然,叫什么名字是你的自由。
{j}改为${j}或$j,是要取值的啊
expr语句外面是反引号(键盘上ESC下面那个键)而不是单引号,表示执行命令而不是单纯一个字符串,expr后面的运算符左右两侧要有空格。
if跟[之间是要有空格的,if判断表达式比较符两侧也要有空格,数字跟 [ ]之间要有空格。
我修正了,自己运行成功生成你要的数列了。你自己对比下吧:
#!/bin/bash
#script name prg8.sh
clear
i=1
for ((j=1;j<=98;j++))
do
echo -n "$j,`expr $j + 2`,"
if [ $i -eq 10 ]
then
echo ""
i=1
else
i=$((i+1))
fi
done
echo ""
注释里已经说了,script name prg8.sh,脚本名叫prg8.sh,当然,叫什么名字是你的自由。
全部回答
- 1楼网友:动情书生
- 2021-11-11 10:54
#!/bin/sh
if [ -z $1 ];then
echo 请输入任意数字:$0 num
exit 1
fi
counter=$1
factorial=1
while [ $counter -gt 0 ]
do
((factorial=factorial * counter ))
((counter--))
done
echo $factorial
if [ -z $1 ];then
echo 请输入任意数字:$0 num
exit 1
fi
counter=$1
factorial=1
while [ $counter -gt 0 ]
do
((factorial=factorial * counter ))
((counter--))
done
echo $factorial
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯