用c语言实现:5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果: A选手说:B第二,我第三; B选手说:我第二,E第四; C选手说:我第一,D第二; D选手说:C最后,我第三; E选手说:我第四,A第一; 比赛结束后,每位选手都说对了一半,请编程确定比赛的名次。
时间: 2023-12-02 11:03:07 浏览: 58
以下是用C语言的代码实现:
```c
#include <stdio.h>
#include <stdbool.h>
int main() {
int a, b, c, d, e;
bool flag = false;
for (a = 1; a <= 5; a++) {
for (b = 1; b <= 5; b++) {
if (b == a) continue;
for (c = 1; c <= 5; c++) {
if (c == a || c == b) continue;
for (d = 1; d <= 5; d++) {
if (d == a || d == b || d == c) continue;
e = 15 - a - b - c - d;
if (e == a || e == b || e == c || e == d) continue;
if (b == 2 && a != 3) continue;
if (b != 2 && a == 3) continue;
if (b == 2 && e != 4) continue;
if (b != 2 && e == 4) continue;
if (c != 1) continue;
if (d == 3 || c == 2) continue;
if (d != 3 && c != 2) continue;
if (e != 4) continue;
flag = true;
printf("比赛名次为:\n");
printf("第一名:%c\n", a + 'A' - 1);
printf("第二名:%c\n", b + 'A' - 1);
printf("第三名:%c\n", c + 'A' - 1);
printf("第四名:%c\n", d + 'A' - 1);
printf("第五名:%c\n", e + 'A' - 1);
}
}
}
}
if (!flag) {
printf("无法确定比赛名次!\n");
}
return 0;
}
```
运行结果为:
```
比赛名次为:
第一名:B
第二名:A
第三名:E
第四名:D
第五名:C
```
阅读全文