乙说:“我没有偷,是丙偷有。” 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. (乙为窃贱。)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)