C语言——说谎问题

来源:百度知道 编辑:UC知道 时间:2024/05/25 11:23:04
A说B说谎,B说C说谎,C说A,B都在说谎,编程说明,谁在说谎话,谁在说真话?

#include <stdio.h>
void main()
{
int a,b,c;
for(a=0;a<=1;a++)
for(b=0;b<=1;b++)
for(c=0;c<=1;c++)
if((a&&!b||!a&&b) && (b&&!c||!b&&c) && (c&&a+b==0||!c&&a+b!=0))
{
printf("A told a %s.\n",a?"truth":"lie");
printf("B told a %s.\n",b?"truth":"lie");
printf("C told a %s.\n",c?"truth":"lie");
}
}

#include<stdio.h>
#include<stdlib.h>
int main()
{
int a,b,c;
for(a=0;a<=1;a++)
for(b=0;b<=1;b++)
for(c=0;c<=1;c++)
if((a&&!b||!a&&b)&&(!b&&c||b&&!c)&&(!c&&a+b==0||c&&a+b!=0))
{ printf("a told a %s \n",a?"true":"lie");
printf("b told a %s \n",b?"true":"lie&qu