题目:
5位跳水高手将参加10m高台跳水决赛,有好事者让5人据实力预测比赛结果.
A选手说:B第2,我第3.
B选手说:我第2,E第4.
C选手说:我第1,D第2.
D选手说:C最后,我第3.
E选手说:我第4,A第1.
决赛成绩公布后,每位选手的预测都只说对了一半,即一对一错.请编程解出比赛的实际名次.
我的答案(最后运行了没结果..):
#include<iostream>
using namespace std;
int main()
{
int aa=0,bb=0,cc=0,dd=0,ee=0;
int A=0,B=0,C=0,D=0,E=0;
for(A=0;A<=5;A=A+1)
for(B=0;B<=5;B=B+1)
for(C=0;C<=5;C=C+1)
for(D=0;D<=5;D=D+1)
for(E=0;E<=5;E=E+1)
{
aa=((B=2)&(A!=3))||((B!=2)&(A=3));
bb=((B=2)&(E!=4))||((B!=2)&(E=4));
cc=((C=1)&(D!=2))||((C!=1)&(D=2));
dd=((C=5)&(D!=3))||((C!=5)&(D=3));
ee=((E=4)&(A!=1))||((E!=4)&(A=1));
if(aa+bb+cc+dd+ee==5)
{
cout<<"A是第"<<A<<"名"<<endl;
cout<<"B是第"<<B<<"名"<<endl;
cout<<"C是第"<<C<<"名"<<endl;
cout<<"D是第"<<D<<"名"<<endl;
cout<<"E是第"<<E<<"名"<<endl;
}
}
return 0;
}
5位跳水高手将参加10m高台跳水决赛,有好事者让5人据实力预测比赛结果.
A选手说:B第2,我第3.
B选手说:我第2,E第4.
C选手说:我第1,D第2.
D选手说:C最后,我第3.
E选手说:我第4,A第1.
决赛成绩公布后,每位选手的预测都只说对了一半,即一对一错.请编程解出比赛的实际名次.
我的答案(最后运行了没结果..):
#include<iostream>
using namespace std;
int main()
{
int aa=0,bb=0,cc=0,dd=0,ee=0;
int A=0,B=0,C=0,D=0,E=0;
for(A=0;A<=5;A=A+1)
for(B=0;B<=5;B=B+1)
for(C=0;C<=5;C=C+1)
for(D=0;D<=5;D=D+1)
for(E=0;E<=5;E=E+1)
{
aa=((B=2)&(A!=3))||((B!=2)&(A=3));
bb=((B=2)&(E!=4))||((B!=2)&(E=4));
cc=((C=1)&(D!=2))||((C!=1)&(D=2));
dd=((C=5)&(D!=3))||((C!=5)&(D=3));
ee=((E=4)&(A!=1))||((E!=4)&(A=1));
if(aa+bb+cc+dd+ee==5)
{
cout<<"A是第"<<A<<"名"<<endl;
cout<<"B是第"<<B<<"名"<<endl;
cout<<"C是第"<<C<<"名"<<endl;
cout<<"D是第"<<D<<"名"<<endl;
cout<<"E是第"<<E<<"名"<<endl;
}
}
return 0;
}