本文目录一览:
- 1、C语言题目:已知某班有4位同学:A、B、C、D。其中有一位同学做了好事,但不知是谁。当被询
- 2、C语言 逻辑判断-谁做了好事!
- 3、看看是谁做的好事 c语言!!!!!!
- 4、C语言:有四位同学中的一位做了好事,不留名,表扬信来了之后,校长问这四位是谁做的好事。
C语言题目:已知某班有4位同学:A、B、C、D。其中有一位同学做了好事,但不知是谁。当被询
#include stdio.h
int main()
{
int s,a,b,c,d; /*变量s代表做好事的同学,abcd代表ABCD同学的说法的正确性*/
for(s='A';s='D';s++) /*穷举可能性,用字符'A'--'D'代表4个同学*/
{
a=(s!='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\n",s);
break;
}
}
return 0;
}
结果:
C语言 逻辑判断-谁做了好事!
这个问题,采用穷举法,用变量的值1代表是,变量的值0代表否。
下面是程序的代码和运行的结果。
#include
int main()
{ int a,b,c,d,e,f,n,t=0;
scanf("%d",n);
for(a=1; a-1; a--)
for(b=1; b-1; b--)
for(c=1; c-1; c--)
for(d=1; d-1; d--)
for(e=1; e-1; e--)
for(f=1; f-1; f--)
if((a+b+c+d+e+f==1)(a==0)+(c==1)+(d==1)+(d==0)+(c+e==1)+(d+e==0)==n)
{ if(t)printf(" or ");
if(a)printf("A");
if(b)printf("B");
if(c)printf("C");
if(d)printf("D");
if(e)printf("E");
if(f)printf("F");
t=1;
}
printf("\n");
return 0;
}
看看是谁做的好事 c语言!!!!!!
做了好事不留名,意思就是有一个人说了谎话,因此分四种情况,以ABCD分别说了谎为四个条件来算,最后输出满足的结果。正确程序如下:
#includestdio.h
void main()
{
char h;
for(h='A';h='D';h++)
{if(h!='A'h=='C'h=='D'h=='D')
printf("%c\n",h);
if(h!='A'h=='C'h!='D'h!='D')
printf("%c\n",h);
if(h!='A'h!='C'h=='D'h!='D')
printf("%c\n",h);
if(h=='A'h=='C'h=='D'h!='D')
printf("%c\n",h);
}
}供参考:)
C语言:有四位同学中的一位做了好事,不留名,表扬信来了之后,校长问这四位是谁做的好事。
#includestdio.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("没人做好事");
}