编写程序,从键盘接收一个百分制成绩,输出用“A”、“B”、“C”、“D”、“E”表示的的等级成绩。其中:90分以上“A”,80~89分为”B”,70~79分为”C”,60~69分为”D”,60分以下为”E”(要求用 switch语句编程)。
时间: 2023-05-25 17:07:18 浏览: 76
```python
score = int(input("请输入成绩:"))
level = None
if score >= 90:
level = "A"
elif score >= 80:
level = "B"
elif score >= 70:
level = "C"
elif score >= 60:
level = "D"
else:
level = "E"
print("等级成绩为:", level)
```
```python
score = int(input("请输入成绩:"))
level = ''
switch(score // 10) {
case 10:
case 9:
level = 'A'
break
case 8:
level = 'B'
break
case 7:
level = 'C'
break
case 6:
level = 'D'
break
default:
level = 'E'
break
}
print("等级成绩为:", level)
```
相关问题
编写java程序,从键盘输入一个百分制的成绩,输出五级制的成绩,如输入85,输出“良好”,要求使用switch结构实现。
在Java中,使用`switch`结构来实现将百分制成绩转换为五级制成绩的程序需要先读取用户从键盘输入的成绩,然后根据成绩的范围判断应该输出哪个等级。以下是一个简单的示例代码:
```java
import java.util.Scanner;
public class GradeConversion {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个百分制的成绩:");
int score = scanner.nextInt();
// 通过switch结构来判断五级制成绩
switch (score / 10) {
case 10: // 100分
case 9: // 90-99分
System.out.println("优秀");
break;
case 8: // 80-89分
System.out.println("良好");
break;
case 7: // 70-79分
System.out.println("中等");
break;
case 6: // 60-69分
System.out.println("及格");
break;
default: // 59分及以下
System.out.println("不及格");
}
scanner.close();
}
}
```
这段代码首先导入了`Scanner`类,用于从控制台接收用户输入。在`main`方法中,创建了一个`Scanner`对象,并提示用户输入成绩。通过`nextInt()`方法读取用户输入的整数作为成绩。之后,使用`switch`结构通过整除10的方式判断成绩所属的等级范围,并输出对应的五级制成绩。
注意,由于100分也应该输出“优秀”,所以在`case 10:`后没有使用`break`语句,使得100分的情况能够和90-99分的`case 9:`共用同一段输出代码。
请编写一个函数char calfun(int x),从键盘上输入一个百分制成绩score,按下列原则输出其等级:score≥90,等级为a;80≤score<90,等级为b;70≤score<80,等
### 回答1:
级为c;60≤score<70,等级为d;score<60,等级为e。
```c++
char calfun(int x) {
char grade;
if (x >= 90) {
grade = 'a';
} else if (x >= 80) {
grade = 'b';
} else if (x >= 70) {
grade = 'c';
} else if (x >= 60) {
grade = 'd';
} else {
grade = 'e';
}
return grade;
}
```
使用方法:
```c++
int score;
cout << "请输入一个百分制成绩:";
cin >> score;
cout << "等级为:" << calfun(score) << endl;
```
注意: 这个代码需要输入输出流头文件,如 <iostream> 。
### 回答2:
基于题目的要求,我们可以写一个计算等级的函数 calfun,并且函数的返回值是 char 类型的。在编写这个函数的时候,我们需要按照输入的百分制成绩 score,按照下面的规则来计算它的等级:
- 当 score≥90 时,等级为 a。
- 当 80≤score<90 时,等级为 b。
- 当 70≤score<80 时,等级为 c。
代码如下:
```c
char calfun(int score) {
char grade;
if (score >= 90) {
grade = 'a';
} else if (score >= 80 && score < 90) {
grade = 'b';
} else if (score >= 70 && score < 80) {
grade = 'c';
} else {
grade = 'd';
}
return grade;
}
```
在上面的函数中,我们首先定义一个 char 类型的变量 grade,表示输入的成绩对应的等级。然后我们用 if 和 else if 语句来判断输入的成绩 score 对应的等级是什么,最后返回对应的成绩等级。
当输入成绩 score 满足上述条件时,我们可以使用这个函数来求它的等级,示例如下:
```c
int main() {
int score;
scanf("%d", &score);
printf("score grade: %c", calfun(score));
return 0;
}
```
在上面的代码中,我们首先定义一个整型变量 score 来保存输入的成绩,然后使用 scanf 函数从键盘上读取输入的成绩值。接着,我们调用 calfun 函数来计算输入分数对应的等级,并使用 printf 函数将结果输出到屏幕上。
最后,我们需要注意,如果输入成绩 score 不满足上述条件时,我们需要设定一个默认的等级值,比如说 ‘d’,这样程序才能正确地运行。
### 回答3:
题分析:
这道题目主要考察的是条件语句和字符类型的应用。我们需要编写一个函数,接收一个百分制的成绩,然后根据成绩的范围,输出相应的等级。因此,我们需要判断输入的成绩所处的范围,然后返回相应的等级字符。
解题思路:
我们可以通过 if...else 语句来判断分数所处的范围,并返回相应的等级字符。举个例子,当您输入的分数为 86 分时,根据题意应该返回 'B',如果输入的分数为 92 分,那么应该返回 'A'。
此外,我们还需要注意一些边界条件,比如输入的分数可能不在 0 到 100 之间,或者分数为小数等情况。这些情况需要我们考虑到并进行特殊处理,以保证函数的稳定性和正确性。
代码实现:
下面是本题的完整代码实现,您可以参考以下代码,并进行自己的练习和思考。
```cpp
#include <iostream>
using namespace std;
char calfun(int score)
{
if (score >= 90)
return 'A';
else if (score >= 80 && score < 90)
return 'B';
else if (score >= 70 && score < 80)
return 'C';
else if (score >= 60 && score < 70)
return 'D';
else
return 'E';
}
int main()
{
int score;
cout << "请输入一个百分制成绩:";
cin >> score;
if (score < 0 || score > 100)
cout << "输入错误,请输入0~100的整数。" << endl;
else
cout << "等级为:" << calfun(score) << endl;
return 0;
}
```
总结:
本题的解法较为简单,主要考察的是条件语句的应用能力。在实际应用中,我们需要注意一些边界条件,并对输入进行特殊处理,以保证代码的完整性和稳定性。同时,为了提高代码的可读性,我们还可以使用 switch...case 语句或者其他的方式来实现该问题。
阅读全文