使用shell脚本 现有学生成绩与对应等级:0~60:D、61~80 C、81~90 B、91~100 A,编写脚本实现当输入范围区间内的数字时打印出对应的等级,输入其他字符时提示“请输入数字”并退出脚本?
时间: 2024-03-08 07:50:21 浏览: 18
以下是 Shell 脚本的实现方式:
```bash
#!/bin/bash
echo "请输入学生成绩:"
read score
if [[ ! $score =~ ^[0-9]+$ ]]; then
echo "请输入数字!"
exit 1
fi
if (( score < 0 || score > 100 )); then
echo "无效的成绩范围!"
exit 1
fi
if (( score < 61 )); then
echo "D"
elif (( score < 81 )); then
echo "C"
elif (( score < 91 )); then
echo "B"
else
echo "A"
fi
```
代码解释:
1. 首先输出提示信息,并读取用户输入的成绩;
2. 使用正则表达式判断输入是否为数字,如果不是数字,则输出提示信息并退出脚本;
3. 判断成绩范围是否合法,如果不在 0~100 的范围内,输出无效范围的提示信息,并退出脚本;
4. 根据成绩范围输出相应的等级。
相关问题
19. 现有学生成绩与对应等级:0~60:D、61~80 C、81~90 B、91~100 A,编写脚本实现当输入范围区间内的数字时打印出对应的等级,输入其他字符时提示“请输入数字”并退出脚本 使用shell脚本
可以使用以下的Shell脚本实现:
```shell
#!/bin/bash
read -p "请输入一个数字: " num
if ! [[ $num =~ ^[0-9]+$ ]]; then
echo "请输入数字"
exit 1
fi
if ((num >= 0 && num <= 60)); then
echo "D"
elif ((num >= 61 && num <= 80)); then
echo "C"
elif ((num >= 81 && num <= 90)); then
echo "B"
elif ((num >= 91 && num <= 100)); then
echo "A"
else
echo "请输入范围内的数字"
fi
```
首先通过`read`命令获取用户输入的数字,然后使用正则表达式判断是否为一个数字。如果不是数字,则输出提示并退出脚本。
接着判断输入的数字在哪个区间范围内,并输出对应的等级。如果输入的数字不在0~100的范围内,则输出提示信息。
用C语言要求用户输入一个分数,根据输入的分数输出对应的等级 A 90~100 B 80~89 C 70~79 D 60~69 E 0~59
好的,你的问题很简单。以下是 C 语言的代码:
```c
#include <stdio.h>
int main()
{
int score;
printf("请输入您的分数:\n");
scanf("%d", &score);
if (score >= 90 && score <= 100)
{
printf("恭喜您,您的等级为 A!\n");
}
else if (score >= 80 && score <= 89)
{
printf("您的等级为 B。\n");
}
else if (score >= 70 && score <= 79)
{
printf("您的等级为 C。\n");
}
else if (score >= 60 && score <= 69)
{
printf("您的等级为 D。\n");
}
else if (score >= 0 && score <= 59)
{
printf("您的等级为 E。\n");
}
else
{
printf("输入有误,请输入0-100之间的整数分数。\n");
}
return 0;
}
```
你可以将这段代码保存在一个文件中,例如 `grade.c`, 然后使用 C 编译器进行编译和运行,例如:
```shell
gcc grade.c -o grade
./grade
```
然后按照提示输入分数即可看到对应的等级。