编写shell脚本,输入一个数字n并计算1~n的和。要求:输入的数字不能小于1和空。


[root@qls /service/scripts]# cat number-1.sh
#!/bin/bash
read -p "请输入一个数字:" Num
if [[ ! $Num =~ ^[0-9]+$ ]];then
    echo "你输入的不是一个正整数!请重新输入!"
    exit
fi
if [ $Num -eq 0 ];then
    echo "数字不能为零!请重新输入!"
    exit
fi
for i in $(seq 1 $Num)
do
    Sum=$(( $Sum + $i ))
done
echo "从数字1加到${Num}的和为: $Sum"

  • 12
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 好的,我能够帮您解决这个问题。下面是shell脚本的代码: ``` #!/bin/bash read -p "请输入一个大于等于1的数字n:" n while [ $n -lt 1 ]; do read -p "输入不符合要求,请重新输入一个大于等于1的数字n:" n done sum=0 for (( i=1; i<=$n; i++ )); do sum=$((sum+i)) done echo "1~$n的和为:$sum" ``` 您可以将上面的代码保存为一个.sh文件并执行,就可以输入数字n并计算1~n的和了。如果输入的n小于1,会要求重新输入,直到输入正确为止。 ### 回答2: 以下是一个用Shell脚本编写的程序,根据要求输入一个数字n并计算1~n的和: ```bash #!/bin/bash while true; do read -p "请输入一个数字n: " n if [[ $n -ge 1 ]]; then break fi echo "输入数字小于1,请重新输入。" done sum=0 for (( i=1; i<=n; i++ )); do sum=$((sum + i)) done echo "1到$n的和为:$sum" ``` 程序通过一个无限循环来获取用户输入数字n,如果n大于等于1,则跳出循环;否则,提示重新输入。接下来,使用一个for循环来计算1到n的和,将结果存储在变量sum中。最后,打印出计算得到的和。 希望上述代码能满足您的需求! ### 回答3: 下面是一个编写Shell脚本的例子,实现了输入一个数字n并计算1~n的和的功能,同时也满足了输入数字小于1时重新输入要求: ```bash #!/bin/bash sum=0 while true; do read -p "请输入一个数字n: " n if ((n >= 1)); then break else echo "输入数字小于1,请重新输入!" fi done for ((i=1; i<=n; i++)); do ((sum += i)) done echo "1到$n的和为:$sum" ``` 通过`read`命令获取用户输入数字n,然后使用一个无限循环来判断输入数字是否大于等于1,如果不满足条件,则输出错误信息并重新输入。直到输入数字满足要求为止。接着使用一个`for`循环来计算1到n的和,并将结果打印出来。 希望以上内容能够帮助到您!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值