实验二第1关:谁是小偷?

任务描述 本关任务:判断谁是小偷。

警察局抓了 a,b,c,d 四名偷窃嫌疑犯,其中只有一人是小偷。审问中:

a 说:“我不是小偷。”

b 说:“ c 是小偷。”

c 说:“小偷肯定是 d。”

d 说:“ c 在冤枉人。”

现在已经知道四个人中三人说的是真话,一人说的是假话,问到底谁是小偷?

编程要求 请在右侧编辑器Begin-End处补充代码,完成本关任务,结果只需输出小偷是谁即可,例如:a is a thief。

#include <stdio.h>

void main()
{
          
   
    /**********  Begin  **********/
		int a,b,c,d;
    for(a=1;a>=0;a--) //穷举每个人是否是小偷的所有情况
        for(b=1;b>=0;b--) //1:是小偷 0:不是
            for(c=1;c>=0;c--)
                for(d=1;d>=0;d--)
                    if((a==0)+(c==1)+(d==1)+(d==0)==3&&a+b+c+d==1) //4人的说法中有3个真的,且只有一个小偷
                    {
          
   
                    	if(a){
          
   
                    		printf("a is a thief");
						}else if(b){
          
   
							printf("b is a thief");
						}else if(c){
          
   
							printf("c is a thief");
						}else if(d){
          
   
							printf("d is a thief");
						}
                    }
    return 0;


    /**********  End  **********/
}
经验分享 程序员 微信小程序 职场和发展