c语言趣味题目 求代码和答案 谢谢 !

有四位同学中的一位做了好事没留名,表扬信来了之后,校长问这四位是谁做的好事。?A说:不是我。?B说:是C。?C说:是D。?D说:他胡说已知三个人说的是真话,一个人说的是假... 有四位同学中的一位做了好事没留名,表扬信来了之后,校长问这四位是谁做的好事。

? A说:不是我。
? B说:是C。
? C说:是D。
? D说:他胡说

已知三个人说的是真话,一个人说的是假话。现在要根据这些信息,找出做了好事的人。
展开
 我来答
chiconysun
2011-01-04 · TA获得超过2.2万个赞
知道大有可为答主
回答量:5410
采纳率:92%
帮助的人:2469万
展开全部
将四人用1, 2, 3, 4 编号,用枚举法解决
变量x 表示做好事者的编号序号,则x 从1到4,四个人所说的话分别写成:
a 说:x != 1
b 说:x == 3
c 说:x == 4
d 说:x != 4
当这4 个逻辑式值相加等于3 时,即为解答
#include <stdio.h>
int main( )
{
int x;
for (x = 1; x <= 4; ++ x)
if ((x != 1) + (x == 3) + (x == 4) + (x != 4) == 3)
printf("Is %c\n.", (char)(64 + x));
}
sun_siliang
2011-01-04 · TA获得超过2.6万个赞
知道大有可为答主
回答量:9913
采纳率:100%
帮助的人:4424万
展开全部
只能推出C,或者D做好事,代码写不了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我是黄镇67
2011-01-04
知道答主
回答量:21
采纳率:0%
帮助的人:0
展开全部
这个题目应该不完整?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式