给出一个百分制成绩,要求输出成绩等级A,B,C,D,E。90分以上为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E ①事先编好程序,要求分别用if语句和switch语句来实现。运行程序,并检查结果是否正确。 ②再运行一次程序,输入分数为负值(如一70),这显然是输入时出错,不应给出等级,重新修改程序,使之能正确处理任何数据,当输人数据大于100和小于0时,通知用户“输入数据错误,请重新输入!”,再重新输入(提示:需要用循环语句。)
时间: 2023-05-27 21:03:42 浏览: 77
C语言程序设计-给出百分制成绩,要求输出成绩等级A、B、C、D、E。90分以上为A,80~89分为B,7
5星 · 资源好评率100%
使用if语句实现:
```
score = float(input("请输入成绩:"))
if score < 0 or score > 100:
print("输入数据错误,请重新输入!")
elif score >= 90:
print("成绩等级为A")
elif score >= 80:
print("成绩等级为B")
elif score >= 70:
print("成绩等级为C")
elif score >= 60:
print("成绩等级为D")
else:
print("成绩等级为E")
```
使用switch语句实现(Python没有原生的switch语句,可以使用字典来模拟):
```
score = float(input("请输入成绩:"))
grade_dict = {
10: "A",
9: "A",
8: "B",
7: "C",
6: "D",
5: "E",
4: "E",
3: "E",
2: "E",
1: "E",
0: "E"
}
if score < 0 or score > 100:
print("输入数据错误,请重新输入!")
else:
grade = grade_dict[int(score/10)]
print(f"成绩等级为{grade}")
```
修改程序,使之能正确处理任何数据:
使用while循环结合异常处理来实现:
```
while True:
try:
score = float(input("请输入成绩:"))
if score < 0 or score > 100:
print("输入数据错误,请重新输入!")
else:
if score >= 90:
print("成绩等级为A")
elif score >= 80:
print("成绩等级为B")
elif score >= 70:
print("成绩等级为C")
elif score >= 60:
print("成绩等级为D")
else:
print("成绩等级为E")
break
except ValueError:
print("输入数据错误,请重新输入!")
```
阅读全文