早教吧 育儿知识 作业答案 考试题库 百科 知识分享

用枚举法做一道判别真假的C++问题已知4为同学的一位数学考了100分.当小李询问这4位是谁考了100分时,4个人的回答如下:A说:不是我.B说:是C.C说:是D.D说:他胡说.已知三个人说的

题目详情
用枚举法做一道判别真假的C++问题
已知4 为同学的一位数学考了100 分.当小李询问这4 位是谁考了100 分时,4 个
人的回答如下:
A 说:不是我.
B 说:是C.
C 说:是D.
D 说:他胡说.
已知三个人说的是真话,一个人说的是假话.现在要根据这些信息,找出考100 分的人
▼优质解答
答案和解析
枚举只能用整形来转换,输出也是整形,所以用SWITCH语句转换:下面是代码
#include
using namespace std;
int main(){
enum monthm;
int n;
cout<<"请输入月份(1~12):\n";
cin>>n;
switch(n){
case 1: m=January;break;
case 2: m=February;break;
case 3: m=Match;break;
case 4: m=Spring;break;
case 5: m=May;break;
case 6: m=June;break;
case 7: m=July;break;
case 8: m=August;break;
case 9: m=September;break;
case 10: m=October;break;
case 11: m=November;break;
case 12: m=December;break;
default: cout<<"must be 1 to 12 !\n";
}
switch(m){
case January: cout<<"January\n";break;
case February: cout<<"February\n";break;
case Match: cout<<"Match\n";break;
case Spring: cout<<"Spring\n";break;
case May: cout<<"May\n";break;
case June: cout<<"June\n";break;
case July: cout<<"July\n";break;
case August: cout<<"August\n";break;
case September: cout<<"September\n";break;
case October: cout<<"October\n";break;
case November: cout<<"November\n";break;
case December: cout<<"December\n";break;
default: cout<<"must be 1 to 12 !\n";
}
return main();

}