五个运动员参加比赛根据他们说的话判断结果

#define _CRT_SECURE_NO_WARNINGS 1
//题目要求:5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果
//A选手说:B第二,我第三;
//B选手说:我第二,E第四;
//C选手说:我第一,D第二;
//D选手说:C最后,我第三;
//E选手说:我第四,A第一;
//比赛结束后,每位选手都说对了一半,请编程确定比赛的名次。
#include <stdio.h>
#include<stdio.h>

int main()
{
int a = 0, b = 0, c = 0, d = 0, e = 0;
for (a = 1; a <= 5; a++) //以下五个for循环的作用是产生五个人竞争五个名次的所有可能共有5^5个
{
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) && ((b == 2) + (e == 4) == 1) && ((c == 1) + (d == 2) == 1)\
&&((c == 5) + (d == 3) == 1) && ((e == 4) + (a == 1) == 1))
//上述if语句是代码的核心部分,题意中说对一半的含义就是一半是真一半是假,故二者的和为1
{
if (abcde ==120)//判断结果的唯一性
printf("a=%d b=%d c=%d d=%d e=%d", a, b, c, d, e);
}

                }
            }
        }
    }
}
  system("pause");
  return 0;
 }

猜你喜欢

转载自blog.51cto.com/14239789/2380897
今日推荐