C语言解决逻辑说谎问题

Problem B

甲说乙在说谎

时限:1000ms 内存限制:10000K 总时限:3000ms

描述:

甲说乙在说谎,乙说丙在说谎,丙说甲、乙在说谎。
只有一个人说真话。
问,谁说真话?
A、甲;B、乙;C、丙;D、没有人说真话
编程求解谁说的是真话。

输入:

输出:

输出说真话的人(甲、乙、丙分别用0、1和2来表示)

输入样例:

输出样例:

1

#include<stdio.h> int main() { int i,j,k; for(i=0;i<=1;i++) {    for(j=0;j<=1;j++) { for(k=0;k<=1;k++) { if(i==1&&j==0&&k==0&&(i||j==1)&&k==1) {  printf("0\n");  break;    }    if(i==0&&j==1&&k==0&&(i||j)==1)    {     printf("1\n");    } if(i==0&&j==0&&k==1&&j==1&&k==1) { printf("2\n"); } } }     }     return 0; }


展开阅读全文

没有更多推荐了,返回首页