本文主要是介绍5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果 A选手说:B第二,我第三; B选手说:我第二,E第四; C选手说:我第一,D第二; D选手说:C最后,我第三; E选手说:我第四,A第一; 比,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果 A选手说:B第二,我第三; B选手说:我第二,E第四; C选手说:我第一,D第二; D选手说:C最后,我第三; E选手说:我第四,A第一; 比赛结束后,每位选手都说对了一半,请编程确定比赛的名次。
分析:总共有5名运动员,每名运动员的名次都有5中可能,即1,2,3,4,5,根据题目要求知每名运动员只说对了一半,也就是说每位运动员都说对了一个名次,以A为例,其判断条件为if ((b == 2 && a != 3) || (b != 2 && a == 3) == 1),
其它的四个条件类似,但是只有这几个条件时,会出现名次重复的结果,因此要添加一个判断条件,每个人的名次是不相等的,这样就能得到最终的结果。
#include<stdio.h>
#include<stdlib.h>
int main()
{int a = 0, b = 0, c = 0, d = 0, 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) || (b != 2 && a == 3) == 1){if ((b == 2 && e != 4) || (b != 2 && e == 4) == 1){if ((c == 1 && d != 2) || (c != 1 && d == 2) == 1){if ((c == 5 && d != 3) || (c != 5 && d == 3) == 1){if ((e == 4 && a != 1) || (e != 4 && a == 1) == 1){if (a*b*c*d*e==120){printf("a=%d b=%d c=%d d=%d e=%d\n", a, b, c, d, e);}}}}}}}}}}}system("pause");return 0;
}
程序运行结果:
这篇关于5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果 A选手说:B第二,我第三; B选手说:我第二,E第四; C选手说:我第一,D第二; D选手说:C最后,我第三; E选手说:我第四,A第一; 比的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!