标签:ace 不能 splay close 结束 分享图片 opened class 排名
运动员排名问题:
5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果,他们的预测结果是:
A选手说:B第一,A第三。
B选手说:B第二,E第四。
C选手说:C第一,D第二。
D选手说:C最后,D第三。
E选手说:E第四,A第一。
比赛结束后,每位选手都说对了一半,请编程确定比赛的名次
注: 关于每一位选手只对一半的逻辑不能简单地只用||(或)解决,因为或在左右均为真是也为真,这时候的逻辑判断应该是异或的,也就是说只有一边为真另一边为假时结果才为真,具体实现看代码
代码如下
1 #include<iostream> 2 using namespace std; 3 4 int main() 5 { 6 int a, b, c, d, e; //代表第一位到第五位选手 7 for(a=1;a<=5;a++) 8 for(b=1;b<=5;b++) 9 for(c=1;c<=5;c++) 10 for(d=1;d<=5;d++) 11 for(e=1;e<=5;e++) 12 { 13 //每个人只对一半 : 14 if ((b == 1 && a != 3) || (b != 1 && a == 3) == 1) 15 if ((b == 2 && e != 4) || (b != 2 && e == 4) == 1) 16 if ((c == 1 && d != 2) || (c != 1 && d == 2) == 1) 17 if ((c == 5 && d != 3) || (c != 5 && d == 3) == 1) 18 if ((e == 4 && a != 1) || (e != 4 && a == 1) == 1) 19 { 20 cout << "A,B,C,D,E的名次: " << a << " " << b << " " 21 << c << " "<< d << " " << e << endl; 22 } 23 } 24 25 return 0; 26 }
标签:ace 不能 splay close 结束 分享图片 opened class 排名
原文地址:http://www.cnblogs.com/wyb666/p/8016442.html