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

#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;
 }

原文地址:https://blog.51cto.com/14239789/2380897

时间: 2024-08-04 06:38:01

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

5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果

5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果A选手说:B第一,我第三.B选手说:我第二,E第四.C选手说:我第一,D第二.D选手说:C最后,我第三.E选手说:我第四,A第一.比赛结束后,每位选手都说对了一半,请编程确定比赛的名次. 初次见到这种题,感觉很难将其抽象出来 用编程来解决它,通过查阅相关文档,终于灵光乍现!现总结思路如下: 通过排列组合知识,可以这样来理解  A B C D E五个人,每个人分别可以有五个位置去 即第一 第二...到第五 5个位置 ,于是这样下来就有25种情

c语言:2种方法:5位运动员参加跳水比赛,每位选手都说对一半,请确定比赛名次

5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果 A选手说:B第一,我第三. B选手说:我第二,E第四. C选手说:我第一,D第二. D选手说:C最后,我第三. E选手说:我第四,A第一. 比赛结束后,每位选手都说对了一半,请编程确定比赛的名次. 程序一: #include<stdio.h> int main() { int a = 1, b = 1,c = 1,d=1,e=1; for (a = 1; a <= 5; a++) { for (b = 1; b <= 5; 

java数组练习:三个班的同学参加比赛,每个班五名同学

package practiceGO; import java.util.Scanner; /*  *  1.三个班的同学参加比赛,每个班五名同学, 1.求出各班的总分和平均分 2.求出各班的最高分 3.求出全部分数中的最高分  */ public class Cto { public static void main(String[] args) { Scanner sc = new Scanner(System.in); double[][] stuTable = new double[3]

5位运动员参加了10米台跳水比赛,每位选手都说对了一半,请编程确定比赛的名次

5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果A选手说:B第一,我第三.B选手说:我第二,E第四.C选手说:我第一,D第二.D选手说:C最后,我第三.E选手说:我第四,A第一. 比赛结束后,每位选手都说对了一半,请编程确定比赛的名次. #include <stdio.h> int main(){  int a,b,c,d,e;  for(a=1;a<=5;a++)       for(b=1;b<=5;b++)            for(c=1;c<=5;c++

跳水运动员预测比赛结果排名次问题

5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果 A选手说:B第一,我第三. B选手说:我第二,E第四. C选手说:我第一,D第二. D选手说:C最后,我第三. E选手说:我第四,A第一. 比赛结束后,每位选手都说对了一半,请编程确定比赛的名次. 可以并列: #include<stdio.h> #include<stdlib.h> main() { int a, b, c, d, e = 0; int flag=0; for (a = 1; a < 6; a++) {

【创新培育项目】为什么要组队参加比赛?及怎样寻找一个合适的选题?

目前学校正在进行创新项目培育,截止日期为5月30日,QQ群(324168309).在和学生接触中发现,学生中存在一些认识方面的误区,主要表现如下. (1)这是高年级学生的事. (2)这是班上其他同学的事. (3)我没有创新想法,算了. (4)想参加,问过几个同学组队都没有兴趣,算了. (5)这个想法已经有人做过,唉,算了. (6)团队组建好了,一看预算要3000元,太贵算了. -- 从上面比较典型的问题可以看出,同学们主要纠结在 能力.团队.资金 三个方面.如同创业一样,主要三大限制因素分别是

研究人员参加比赛判断

Q:A1 A2 A3 A4 A5五名研究人员有可能报名化学比赛,根据下列条件判断那些人参加了比赛: 1. A1参加时,A2也参加: 2. A2和A3只有一个人参加: 3. A3和A4或者都参加,或者都不参加: 4. A4和A5中至少有一个人参加: 5. 如果A5参加,那么A1和A4也都参加. Write your C# code to programmatically calculate the result: 1 class people { 2 public people() {} 3 pr

逻辑代码题:五个学生参加计算机比赛

题目: A.B.C.D.E五名学生有可能参加计算机竞赛,根据下列条件判断哪些人参加了竞赛:(1)A参加时,B也参加:(2)B和C只有一个人参加:(3)C和D或者都参加,或者都不参加:(4)D和E中至少有一个人参加:(5)如果E参加,那么A和D也都参加. 思路: 1. A = 1 then B = 1 ; A= 0 then B = 1 or 0 2. B = 1 then C = 0 ;  B = 0 then C = 1; 3. C = D ( C + D = 1 or C + D = 0 )

OCAC暑期比赛第一场 L题 判断素数 题解

判断素数[题目描述]素数,是指除了一和它本身外,不能被别的书整除的数.给你一个整数数 a (0 <= a <= 10^18) ,请你判断它是不是素数.[输入格式]输入一个整数 a (0 <= a <= 10^18).[输出格式]如果 a 是素数,输出 "YES":否则,输出 "NO" .[样例输入1]8[样例输出1]NO[样例输入2]13[样例输出2]YES[题目分析]对于一个数 a, 从 2 到 sqrt(a) 找找有没有能够整除 a 的数