输入百分制成绩,并把它转换成五级分制,并显示转换结果。要求用switch语句编程。转换公式为:
想一想,若用if语句进行成绩判断,本程序应该如何改写?请你试一试。
if...else版本
#include <iostream>
using namespace std;
int main()
{
int score;
char grade;
cout<<"请输入成绩:";
cin>>score;
if(score >= 90)
grade = 'A';
else if(score >= 80)
grade = 'B';
else if(score >= 70)
grade = 'C';
else if(score >= 60)
grade = 'D';
else
grade = 'E';
cout<<"您成绩等级为:"<<grade<<endl;
return 0;
}
switch版本
#include <iostream>
using namespace std;
int main()
{
int score;
char grade;
cout<<"请输入成绩:";
cin>>score;
score /=10;
switch(score)
{
case 10:
case 9:
grade = 'A';
break;
case 8:
grade = 'B';
break;
case 7:
grade = 'C';
break;
case 6:
grade = 'D';
break;
default:
grade = 'E';
break;
}
cout<<"您成绩等级为:"<<grade<<endl;
return 0;
}
使用switch语句实现的C++程序如下:
#include <iostream>
using namespace std;
int main()
{
int score;
cout << "请输入百分制成绩:";
cin >> score;
int level = score / 10; // 计算成绩所在的区间
switch (level) {
case 10:
case 9:
cout << "优秀" << endl;
break;
case 8:
cout << "良好" << endl;
break;
case 7:
cout << "中等" << endl;
break;
case 6:
cout << "及格" << endl;
break;
default:
cout << "不及格" << endl;
break;
}
return 0;
}
程序首先通过cin输入百分制成绩,并计算成绩所在的区间。然后使用switch语句根据成绩所在的区间输出对应的五级分制等级。其中,case 10和case 9合并表示成绩在90分以上,default表示成绩在60分以下。
使用if语句实现的C++程序如下:
#include <iostream>
using namespace std;
int main()
{
int score;
cout << "请输入百分制成绩:";
cin >> score;
if (score >= 90) {
cout << "优秀" << endl;
}
else if (score >= 80) {
cout << "良好" << endl;
}
else if (score >= 70) {
cout << "中等" << endl;
}
else if (score >= 60) {
cout << "及格" << endl;
}
else {
cout << "不及格" << endl;
}
return 0;
}
程序使用if语句实现了与switch语句相同的逻辑。其中,else if结构用于判断成绩所在的区间,并输出对应的五级分制等级。
不知道你这个问题是否已经解决, 如果还没有解决的话:关系运算符:
又叫比较运算符,在程序中经常需要比较两个量的大小关系,以决定程序下一步的工作。比较两个量的运算符称为关系运算符。