当前位置: 代码迷 >> C语言 >> 简单编程求助
  详细解决方案

简单编程求助

热度:156   发布时间:2008-04-23 13:19:09.0
简单编程求助
编程题:
1.上级派来了新领导,司机去接待,站台上有4人,司机上去询问。A说是D,B说是A,C说不是我,D说A胡说。已知3个人说的是真话,一个人说的是假话。请根据这些信息,找出谁是新领导。


要程序额 别搞寡答案!
----------------解决方案--------------------------------------------------------
解题思路
这是逻辑题哦:
一、简化表示
A说是D可以表示为:D
B说是A可以表示为:A
C说不是我可以表示为:!C
D说A胡说(即说不是D)可以表示成:!D
二、推理
根据D与!D矛盾,知道他们中必定有人为假
绕开不管,则A和!C成立,所以为A
三、本人C语言才学,实现可以问下高手
----------------解决方案--------------------------------------------------------
#include <stdio.h>
void main()
{ char a='D',b='A',c='C',d='D';  //a代表是D,b代表是A,c代表是C,d代表是D
  int i;
  for(i=65;i<69;i++)  //i=65是表示A的,依次推下去
  {    //有三个条件符合就行
      if(i==b&&i!=c&&i!=d) printf("%c",i);  
      if(i==a&&i!=c&&i!=d) printf("%c",i);
      if(i==a&&i==b&&i!=d) printf("%c",i);
      if(i==a&&i==b&&i!=c) printf("%c",i);
  }

}

//本人也是初学C,程序很烂,希望以后可以一起探讨
----------------解决方案--------------------------------------------------------
  相关解决方案