给出一个百分制成绩,要求输出成绩等级a、b、c、d、e。90分以上为a,80-89分为b,70-79分为c,60-69分为d,60分以下为e。要求:至少输入3个分数段的成绩并打印出对应的等级制成绩,并用switch与if语句分别完成。
时间: 2023-05-31 07:19:01 浏览: 2697
### 回答1:
使用if语句:
```
#include <stdio.h>
int main() {
int score;
printf("请输入成绩:");
scanf("%d", &score);
if (score >= 90) {
printf("成绩等级为:a\n");
} else if (score >= 80) {
printf("成绩等级为:b\n");
} else if (score >= 70) {
printf("成绩等级为:c\n");
} else if (score >= 60) {
printf("成绩等级为:d\n");
} else {
printf("成绩等级为:e\n");
}
return 0;
}
```
使用switch语句:
```
#include <stdio.h>
int main() {
int score;
printf("请输入成绩:");
scanf("%d", &score);
switch (score / 10) {
case 10:
case 9:
printf("成绩等级为:a\n");
break;
case 8:
printf("成绩等级为:b\n");
break;
case 7:
printf("成绩等级为:c\n");
break;
case 6:
printf("成绩等级为:d\n");
break;
default:
printf("成绩等级为:e\n");
break;
}
return 0;
}
```
### 回答2:
假设我们需要输入三个成绩段,可以选择输入90、75、62来做测试。
使用switch语句实现:
```
#include <stdio.h>
int main() {
int score;
printf("请输入成绩:");
scanf("%d", &score);
switch (score / 10) {
case 10:
case 9:
printf("成绩等级为a\n");
break;
case 8:
printf("成绩等级为b\n");
break;
case 7:
printf("成绩等级为c\n");
break;
case 6:
printf("成绩等级为d\n");
break;
default:
printf("成绩等级为e\n");
break;
}
printf("请输入成绩:");
scanf("%d", &score);
switch (score / 10) {
case 10:
case 9:
printf("成绩等级为a\n");
break;
case 8:
printf("成绩等级为b\n");
break;
case 7:
printf("成绩等级为c\n");
break;
case 6:
printf("成绩等级为d\n");
break;
default:
printf("成绩等级为e\n");
break;
}
printf("请输入成绩:");
scanf("%d", &score);
switch (score / 10) {
case 10:
case 9:
printf("成绩等级为a\n");
break;
case 8:
printf("成绩等级为b\n");
break;
case 7:
printf("成绩等级为c\n");
break;
case 6:
printf("成绩等级为d\n");
break;
default:
printf("成绩等级为e\n");
break;
}
return 0;
}
```
使用if语句实现:
```
#include <stdio.h>
int main() {
int score;
printf("请输入成绩:");
scanf("%d", &score);
if (score >= 90) {
printf("成绩等级为a\n");
} else if (score >= 80) {
printf("成绩等级为b\n");
} else if (score >= 70) {
printf("成绩等级为c\n");
} else if (score >= 60) {
printf("成绩等级为d\n");
} else {
printf("成绩等级为e\n");
}
printf("请输入成绩:");
scanf("%d", &score);
if (score >= 90) {
printf("成绩等级为a\n");
} else if (score >= 80) {
printf("成绩等级为b\n");
} else if (score >= 70) {
printf("成绩等级为c\n");
} else if (score >= 60) {
printf("成绩等级为d\n");
} else {
printf("成绩等级为e\n");
}
printf("请输入成绩:");
scanf("%d", &score);
if (score >= 90) {
printf("成绩等级为a\n");
} else if (score >= 80) {
printf("成绩等级为b\n");
} else if (score >= 70) {
printf("成绩等级为c\n");
} else if (score >= 60) {
printf("成绩等级为d\n");
} else {
printf("成绩等级为e\n");
}
return 0;
}
```
以上两种方法的效果是一样的,可以根据自己的习惯选择。
### 回答3:
首先,根据上述要求,我们需要至少输入三个分数段的成绩,假设我们输入的三个分数段为85分、72分、59分。
下面我们使用if语句和switch语句分别实现该题目要求。
使用if语句实现:
1. 定义一个变量score,表示输入的分数。
2. 根据score的值,嵌套使用if语句判断其等级,并将其等级保存到变量level中。
3. 使用printf函数输出score以及对应的等级。
示例代码如下:
```
#include <stdio.h>
int main()
{
int score;
char level;
// 输入第一个成绩
scanf("%d", &score);
if(score >= 90) {
level = 'a';
} else if(score >= 80) {
level = 'b';
} else if(score >= 70) {
level = 'c';
} else if(score >= 60) {
level = 'd';
} else {
level = 'e';
}
printf("分数是%d,等级是%c\n", score, level);
// 输入第二个成绩
scanf("%d", &score);
if(score >= 90) {
level = 'a';
} else if(score >= 80) {
level = 'b';
} else if(score >= 70) {
level = 'c';
} else if(score >= 60) {
level = 'd';
} else {
level = 'e';
}
printf("分数是%d,等级是%c\n", score, level);
// 输入第三个成绩
scanf("%d", &score);
if(score >= 90) {
level = 'a';
} else if(score >= 80) {
level = 'b';
} else if(score >= 70) {
level = 'c';
} else if(score >= 60) {
level = 'd';
} else {
level = 'e';
}
printf("分数是%d,等级是%c\n", score, level);
return 0;
}
```
使用switch语句实现:
1. 定义一个变量score,表示输入的分数。
2. 使用switch语句判断score的等级,并将其等级保存到变量level中。
3. 使用printf函数输出score以及对应的等级。
示例代码如下:
```
#include <stdio.h>
int main()
{
int score;
char level;
// 输入第一个成绩
scanf("%d", &score);
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;
}
printf("分数是%d,等级是%c\n", score, level);
// 输入第二个成绩
scanf("%d", &score);
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;
}
printf("分数是%d,等级是%c\n", score, level);
// 输入第三个成绩
scanf("%d", &score);
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;
}
printf("分数是%d,等级是%c\n", score, level);
return 0;
}
```
无论是使用if语句还是switch语句,最终输出的结果都是一样的。使用switch语句的优点是代码更加简洁,缺点是可读性稍差于if语句,具体哪种方式更好还需要视具体情况而定。
阅读全文