一道c语言作业题,不是很难 ,但是我不知道从那下手
四位同学中有一位做了好事,不留名。表扬信来了之后,老师问是谁做了好事。A说:不是我B说:是CC说:是DD说:他胡说。(C胡说,不是D。)已知只有三个人说的是真话,一个人说...
四位同学中有一位做了好事,不留名。表扬信来了之后,老师问是谁做了好事。
A说:不是我
B说:是C
C说:是D
D说:他胡说。(C胡说,不是D。)
已知只有三个人说的是真话,一个人说的是假话,请根据这些信息,编写程序求出做了好事的人。
我们c语言刚开始学,希望大侠尽量用简单点的语句编程。。要注释 展开
A说:不是我
B说:是C
C说:是D
D说:他胡说。(C胡说,不是D。)
已知只有三个人说的是真话,一个人说的是假话,请根据这些信息,编写程序求出做了好事的人。
我们c语言刚开始学,希望大侠尽量用简单点的语句编程。。要注释 展开
4个回答
展开全部
解析:
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");
}
}
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是做好事的人
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询