求助
编写程序,给出一个百分制成绩,要求输出相应的等级A、B、C、D、E。90分以上为'A',80~89分为'B',70~79分为'C',60~69分为'D',60分以下为'E'。编程提示:
1) 先定义一个整型变量存放百分制成绩;
2) 输入百分制成绩;
3) 将百分制成绩按10分,分档作为switch语句中括号内的表达式;
4) 按case 10:
case9:
case8:
case7:
case6:
default:
这六种匹配情况分别选择不同的入口;
5) 输出转换后的等级成绩。
以下是一个示例程序,用于根据输入的百分制成绩输出相应的等级:
#include <iostream>
using namespace std;
int main() {
int score;
cout << "请输入百分制成绩:";
cin >> score;
switch (score / 10) {
case 10:
case 9:
cout << "等级:A" << endl;
break;
case 8:
cout << "等级:B" << endl;
break;
case 7:
cout << "等级:C" << endl;
break;
case 6:
cout << "等级:D" << endl;
break;
default:
cout << "等级:E" << endl;
break;
}
return 0;
}
首先,定义一个整型变量score来存放百分制成绩。然后,通过cin输入百分制成绩。
接下来,使用switch语句将百分制成绩按照10分一档进行分组。根据不同的分数范围,选择不同的case分支。如果输入的成绩在90以上,会执行case 10:和case 9:分支,输出等级 A;如果成绩在80至89之间,会执行case 8:分支,输出等级 B;以此类推。
最后,根据执行的分支,使用cout输出对应的等级成绩。
希望这个示例程序能够帮助你解决问题。如果有任何疑问,请随时提问。 问题分析:
这个问题需要我们编写一个程序,输入一个百分制成绩,将其转换为相应的等级。题目已经给出了转换规则,可以使用switch语句来实现。
解决方案:
以下是一个简单的解决方案:
#include <stdio.h>
int main(void)
{
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;
}
这个程序首先定义了一个整型变量score来存放百分制成绩,然后通过scanf函数读取用户输入的成绩。接下来,使用switch语句以10分为一档去判断成绩所在的范围,并输出相应的等级。最后返回0表示程序正常结束。
此外,还需要注意以下几点:
1. 在使用switch语句时,需要注意将score除以10得到的结果作为表达式。因为我们是根据10分为一档来判断的,所以需要将成绩除以10。
2. 在switch语句中,我们使用了多个case标签来匹配不同的成绩范围。需要注意的是,如果某些范围的分数对应的等级相同,可以将这些范围合并在一起,例如本题中90分以上和80分以上对应的等级都是A。
3. 在输出等级时,需要注意换行符\n的使用。题目要求输出等级成绩后需要换行。
这样改进后的代码就可以正确地输出相应等级了。
球一个最佳答案谢谢啦!这对我非常重要!{:10_254:}{:10_254:}{:10_254:}
页:
[1]