五個運動員參加比賽根據他們說的話判斷結果

#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;
 }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章