有四位同学中的一位做了好事,不留名,表扬信来了之后,校长问这四位是谁做的好事。
A说:不是我。
B说:是C。
C说:是D。
D说:他胡说。
A说:不是我。
B说:是C。
C说:是D。
D说:他胡说。
已知三个人说的是真话,一个人说的是假话。现在要根据这些信息,找出做了好事的人。
代码如下:
#include<iostream>
using namespace std;
int main()
{
char thisman = '/0';
for(thisman='A' ; thisman < 'D';thisman++)
{
if(3 == ((thisman !='A')+(thisman == 'C')+(thisman == 'D')+(thisman != 'D')))//测试找到说真话成立的三个条件
{
cout<<thisman<<"\n";//输出做了好事的人。
}
}
return 0;
}
结果:
C