本文主要是介绍根据5位运动员的描述,预测比赛结果,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1、5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果
A选手说:B第二,我第三;
B选手说:我第二,E第四;
C选手说:我第一,D第二;
D选手说:C最后,我第三;
E选手说:我第四,A第一;
比赛结束后,每位选手都说对了一半,请编程确定比赛的名次。
2、思路:
A,B,C,D,E每个人的名次都有可能为1~5名次,故写5个for循环,让每个运动员的名次遍历一遍。因为每个选手都说对了一半,故将A,B,C,D,E说的话转换为对应C语言。由于不知道有可能是前半段不正确,也有可能是后半段不正确,也有可能是混合不正确,故用或语句。当且仅当A,B,C,D,E的名次不相等的时候,输出结果。
3、程序
#include<stdio.h>
#include<stdlib.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++){for (d = 1; d <= 5; d++){for (e = 1; e <= 5; e++){if ((b == 2 && a != 3) || (b != 2 && a == 3)){if ((b == 2 && e != 4) || (b != 2 && e == 4)){if ((c == 1 && d != 2) || (c != 1 && d == 2)){if ((c == 5 && d != 3) || (c != 5 && d == 3)){if ((e == 4 && a != 1) || (e != 4 && a == 1)){if ((a != b) && (a != c) && (a != d) && (a != e)&& (b != c) && (b != d) && (b != e)&& (c != d) && (c != e)&& (d != e)){printf("a=%d,b=%d,c=%d,d=%d,e=%d\n", a, b, c, d, e);}}}}}}}}}}}system("pause");return 0;
}
4、结果
这篇关于根据5位运动员的描述,预测比赛结果的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!