解析:
1代表a;2代表b;3代表c;4代表d;
A说不是他,即A默认是B、C、D,定义int a[3]={2,3,4};
B说是C,即b=3;
C说是D,即c=4;
D说不是他,即D默认是A、B、C,定义int d[3]={1,2,3};
显然A、D默认是C,B说是C;所以C说假话;其他的都无法推出。
代码如下:
main()
{
int i,j;
int a[3]={2,3,4},b=3,c=4,d[3]={1,2,3};
for(i=0;i<3;i++)
for(j=0;j<3;j++)
{
if(a[i]==b&&b==c)printf("D说假话\n");
if(a[i]==b&&b==d[j])printf("C说假话\n");
if(a[i]==c&&c==d[j])printf("B说假话\n");
if(b==c&&c==d[j])printf("A说假话\n");
}
}
C是做好事的人
我就知道答案,是c
a、b、c是真、d是假的