有五名运动员参加了跳水比赛,有人让他们预测比赛结果
A选手说:B第二,我第三;
B选手说:我第二,E第四;
C选手说:我第一,D第二;
D选手说:C最后,我第三;
E选手说:我第四,A第一;
比赛结束后,每位选手都说对了一半,求运动员的名次
实现思路
每位运动员都有第一名到第五名五种可能的排名,且每位运动员说的话中只有一句是真的,利用循环+判断就可以求出结果,为了使结果只有一种,判断每位运动员是否为唯一的名次。
代码实现
#include <stdio.h>
int main()
{
int a = 0;
int b = 0;
int c = 0;
int d = 0;
int e = 0;
for (a = 1; a <= 5; a++)
{
for (b = 1; b <= 5; b++)
{
for (c = 1; c <= 5; c++)
{
for (d = 1; d <= 5; d++)
{
for (e = 1; e <= 5; e++)
{
if(((b == 2) + (a == 3) == 1)//A选手说:B第二,我第三;
&&