一道编程题:4位同学中的一人做了好事,校长问到,A说“不是我”,B说是C,C说是D,D说C胡说.

请设计一个程序,帮校长找出是谁? 帮小弟一下 我大一刚学 最好还能注释一下
C程序的

第1个回答  2011-11-03
是A
第2个回答  2011-11-03
请问要用什么语言的程序?追问

C语言

C语言while语句的编程,希望大家给个想法,我感觉无从下手,谢谢了
4人的回答是:A说:不是我 B说:是C C说:是D D说:他胡说 已知3个人说的是真的,一个人说的是假话,现在问做好事的人是谁?分析:首先,我们怎么把题目给出的信息,输入到我们的程序里面呢?题目给出的信息如下:1.有4位同学A,B,C,D,其中一人做了好事 2.每个同学说了一句话...

4人有一人做了好事,他们分别说a说:'不是我,b说;是c,c说:‘是d’,d说...
= 0); b = (who == 2); c = (who == 3); d = (who != 3); printf("%i %i %i %i\\n",a,b,c,d); if ((a + b + c + d) == 3) printf("goodman is %c\\n", men[who]); } return 0;}0 0 0 11 0 0 11 1 0 1goodman is c1 0 1...

四个嫌疑犯的谁是凶手 A说不是我 B说是C C说是D D说C在胡说 一个人说谎...
int s,a,b,c,d; \/\/变量s代表做好事的同学,abcd代表ABCD同学的说法的正确性 for(s='A';s<='D';s++) { a=(s!='A'); \/\/A说不是我: s!='A'b=(s=='C'); \/\/B说是C :s=='C'*\/ c=(s=='D'); \/\/C说是D:s=='D'*\/ d=(s!='D'); \/\/D...

...有4位同学:A、B、C、D。其中有一位同学做了好事,但不知是谁。当被...
\/\/答案是C说假话.int main(void) { int A = 1, B = 0, C = 0, D = 0;if (A && C && D && !D) { printf("A");return 0;} A = 0, B = 1, C = 0, D = 0;if (!A && !C && D && !D) { printf("B");return 0;} A = 0, B = 0, C = 1, D =...

...有4位同学:A、B、C、D。其中有一位同学做了好事,但不知是谁。当被...
='A'); \/*A说不是我: s!='A'*\/ b=(s=='C'); \/*B说是C : s=='C'*\/ c=(s=='D'); \/*C说是D: s=='D'*\/ d=(s!='D'); \/*D说C胡说: s!='D'*\/ if((a+b+c+d)==3) \/*如果有3个人说的是真的就结束循环并输出*\/ { printf(...

C语言:有四位同学中的一位做了好事,不留名,表扬信来了之后,校长问这四...
include<stdio.h>int A,X;void main () {for(A = 'A'; A <= 'D';A++) {X = (A != 'A') + (A == 'C') + (A == 'D') + (A !=' D');if(X == 3) {printf("%c做好事\\n",A);break;}}if(A > 'D') printf("没人做好事"); } ...

有4位同学中的一位做了好事,不留名,表扬信来了之后,校长问这4位是谁...
1.假设A讲假话,其馀三人讲真话,则B和C出现矛盾,所以假设不成立,A讲真话。2.假设B讲假话,其馀三人讲真话,则C和D的说法出现矛盾,所以假设不成立,B讲真话。3.假设C讲假话,其馀三人讲真话,则A、B、D的证供都成立,所以假设成立,C讲假话。4.假设D讲假话,其馀三人讲真话,则B和C出现...

谁做的好事?A不是我;B是C;C说是D;D说他胡说。已知3个人说真话,一个人...
A、B、D说的是对的,是C做的好事。如果是A说假话,那么B和C说的应该是对的,但是B和C说的不一致,所以A说的是真话。如果是B说假话,那么C和D说的应该是对的,但是C和D说的互相矛盾,所以B说的是真话。如果是D说假话,那么B和C说的应该是对的,但是B和C说的不一样,所以D说的是真话。

A,B,C,三人中一人做了一件好事老师问他们是谁做的好事,A说是B做的...
B和C说的是假话 B说的,假设成立 而C说的与事实矛盾了,所以不成立 也就是说不是A说真话。 2假设B说的是真话。 那么事实上是A或者C做的 A和C说的是假话 A说的与假设成立。 再次假设“如果是A做的” 那么C说“不是他说的”就是正确的与大前提“B说的是真的”矛盾。如果是C做的...

...做了好事没留名,老师问是谁做的? A说是B做的 B说不是我做的 C说...
1、如A是真话,那B说的是假话,C说的是真话,两真一假,条件不成立 2、如B是真话,那A说的就是假话,C说也是假话,说法也不矛盾,两假一真,条件成立,可以细推 :因为不是B做的,做好事的只剩下A或C,反推C话,则做好事的就是C;3、如C是真话,做好事的只有是A或B;反推B话,做好事...

相似回答