题目描述:
4名专家对4款赛车进行评论。
A说:2号赛车是最好的。
B说:4号赛车是最好的。
C说:3号不是最佳赛车。
D说:B说错了。
事实上只有一款赛车最佳,且只有一名专家说对了,其他三人都说错了。请编程输出最佳车的车号,以及那位专家说对了。
别人家的代码:
#include<iostream>
using namespace std;
int main()
{
char goodcar ;
int a1,a2,a3,a4;
for(int k=0;k<4;++k)
{ goodcar='a' + k;
a1=(goodcar=='b');
a2=(goodcar=='d');
a3=(goodcar!='c');
a4=(goodcar!='d');
int sum =a1+a2+a3+a4;
if(sum==1)
{
cout<<k+1<<"号是好车 ";
if(a1==1) cout<<"A专家 ";
if(a2==1) cout<<"B专家 ";
if(a3==1) cout<<"C专家 ";
if(a4==1) cout<<"D专家 ";
}
}
return 0;
}
代码来源 嗯嗯别人的总是那么简洁...
我自己第一次编写:
#include<iostream>
using namespace std;
int main()
{
int a=0,b=0,c=0,d=0,sum=0;
b=1; //A专家说的
sum=(b==1)+(d==1)+(c==0)+(d==0);
if(sum==1) cout<<"2号"<<" A专家"<<endl;
b=0; d=1;
sum=(b==1)+(d==1)+(c==0)+(d==0);
if(sum==1) cout<<"4号"<<" B专家"<<endl;
d=0; a=1;
sum=(b==1)+(d==1)+(c==0)+(d==0);
if(c==0 && sum==1 ) cout<<"1号"<<" C专家"<<endl;
a=0; c=1;
sum=(b==1)+(d==1)+(c==0)+(d==0);
if(d==0 && sum==1 ) cout<<"3号"<<" D专家"<<endl;
return 0;
}
我自己写的就是一坨狗屎......大家还是参照别人的吧