用 C语言 编写程序 (小偷问题) 【是C语言】

用 C语言 编写程序 (小偷问题) 【是C语言】,第1张

#include <stdio.h>int main() { int a,b,c,dif( !(a=0)&&(c=1)&&(d=1)&&!(d=1)) printf("A是小偷")else if( (a=0)&&!(c=1)&&(d=1)&&!(d=1)) printf("D是小偷")

甲说:”乙没有偷,是丁偷的。” B+D=1

乙说:“我没有偷,是丙偷有。” B+C=1

丙说:“甲没有偷,是乙偷的。” A+B=1

丁说:“我没有偷。” A+B+C+D=1

其中丁只说了一句话,无法判定其真假,表达式反映了四人中仅有一名是窃贱的条件

*程序与程序注释

#include<stdio.h>

void main()

{

int i,j,a[4]

for(i=0i<4i++) /*假定只有第i个人为窃贱*/

{

for(j=0j<4j++) /*将第i个人设置为1表示窃贱,其余为0*/

if(j==i)a[j]=1

else a[j]=0

if(a[3]+a[1]==1&&a[1]+a[2]==1&&a[0]+a[1]==1) /*判断条件是否成立*/

{

printf("The thief is ")/*成立*/

for(j=0j<=3j++) /*输出计算结果*/

if(a[j])printf("%c.",j+'A')

printf("\n")

}

}

}

*运行结果

The thief is B. (乙为窃贱。)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11701925.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存