A说:2号赛车是最好的。
B说:4号赛车是最好的。
C说:3号不是最佳赛车。
D说:B说错了。
事实上只有一款赛车最佳,且只有一名专家说对了,其他3人都说错了。
请编程输出最佳车的车号,以及哪位专家说对了。
方法一:
#include <stdio.h>
int main(){
int ra,rb,rc,rd;
int a,b,c,d;
for(a=0;a<=1;a++){
for(b=0;b<=1;b++){
for(c=0;c<=1;c++){
for(d=0;d<=1;d++){
ra=b==1;
rb=d==1;
rc=c==0;
rd=d==0;
if(ra+rb+rc+rd==1 && a+b+c+d==1){
printf("%d %d %d %d \n",ra,rb,rc,rd);
printf("%d %d %d %d \n",a,b,c,d);
}
}
}
}
}
}
运行结果:
方法二:
#include <stdio.h>
int main(){
int ra,rb,rc,rd;
int best;
for(best=1;best<=4;best++){
ra=best==2;
rb=best==4;
rc=best!=3;
rd=best!=4;
if(ra+rb+rc+rd==1){
printf("%d %d %d %d\n",ra,rb,rc,rd);
printf("最佳赛车:%d号\n",best);
}
}
}
运行结果: