用case语句编写“输入分数并判断等级”的shell程序
时间: 2024-02-25 12:58:06 浏览: 86
好的,以下是使用case语句编写的“输入分数并判断等级”的shell程序:
```shell
#!/bin/bash
echo "请输入分数:"
read score
case $score in
9[0-9]|100)
echo "分数等级:A+"
;;
8[0-9]|9[0-8])
echo "分数等级:A"
;;
7[0-9]|8[0-8])
echo "分数等级:B"
;;
6[0-9]|7[0-8])
echo "分数等级:C"
;;
5[0-9]|6[0-8])
echo "分数等级:D"
;;
*)
echo "分数等级:E"
;;
esac
```
这个程序会提示用户输入一个分数,然后使用case语句判断分数所在的等级,并输出对应的等级。其中,使用了正则表达式来匹配不同分数范围,如9[0-9]表示90-99分。最后一个“*”表示其他分数范围,即不在以上范围内的分数。
相关问题
3.编写一段shell程序完成:根据从键盘输入的学生成绩,显示相应的成绩标准(such as “failed”“passed”,”medium””good””excellent”)。
在bash shell脚本中,你可以通过条件判断语句来实现这个功能。以下是一个简单的示例:
```bash
#!/bin/bash
# 获取用户输入的成绩
echo "请输入学生的分数(0-100):"
read score
# 定义成绩等级及其对应的范围
case $score in
[0-59])
grade="failed"
;;
[60-69])
grade="pass"
;;
[70-79])
grade="medium"
;;
[80-89])
grade="good"
;;
[90-100])
grade="excellent"
;;
*)
echo "输入的分数不在范围内,请重新输入。"
exit 1
;;
esac
# 显示结果
echo "该学生的成绩等级为: $grade"
```
当你运行此脚本并输入一个成绩值,它会返回相应的成绩标准。如果输入的不是0-100之间的数字,脚本会给出错误提示并退出。
```sh
编写shell脚本,实现一个简单的加减乘除计算器
好的,以下是一个简单的加减乘除计算器的shell脚本:
```
#!/bin/bash
echo "请输入两个数字:"
read a
read b
echo "请选择运算符(+、-、*、/):"
read operator
case $operator in
+)
result=`echo "$a + $b" | bc`
;;
-)
result=`echo "$a - $b" | bc`
;;
\*)
result=`echo "$a * $b" | bc`
;;
/)
result=`echo "scale=2; $a / $b" | bc`
;;
*)
echo "输入的运算符不正确"
exit 1
;;
esac
echo "结果为:$result"
```
通过`read`命令获取用户输入的两个数字和运算符,然后使用`case`语句判断运算符,分别进行加、减、乘、除运算,并使用`bc`命令计算结果。其中,除法运算使用了`scale`选项设置小数点后保留的位数为2位。
注意:这个脚本仅支持整数和浮点数的加减乘除运算,不支持负数、分数和取余运算等。如需更加完善的计算器,需要进一步扩展脚本的功能。
阅读全文