5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果
A说:B第二,我第一;
B说:我第二,E第四;
C说:我第一,D第二;
D说:C最后,我第三;
E说:我第四,A第一;
比赛结束后,每位选手都说对了一半,编程求他们比赛的名次。
这道题在算法课上边老师有说过
C语言代码续行,可以在代码后边直接加“\n”。
#include <stdio.h>
#include <windows.h>
/*5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果
A选手说:B第二,我第三;
B选手说:我第二,E第四;
C选手说:我第一,D第二;
D选手说:C最后,我第三;
E选手说:我第四,A第一;
比赛结束后,每位选手都说对了一半,请编程确定比赛的名次。
*/
int main(){
int A,B,C,D,E;
for (A = 1; A <= 5;A++){
for (B = 1; B <= 5;B++){
if (A!=B){
for (C = 1; C <= 5;C++){
if (C!=A && C!=B){
for (D = 1; D <= 5;D++){
if (D!=A && D!=B && D!=C){
E = 15 - A - B - C - D;
if (((B==2)+(A==3)==1)&&\ ((B==2)+(E==4)==1)&&\
((C==1)+(D==2)==1)&&\
((C==1)+(D==2)==1)&&\
((E==4)+(A==1)==1)){
printf("A=%d\nB=%d\nC=%d\nD=%d\nE=%d\n",A,B,C,D,E);
}
}
}
}
}
}
}
}
system("pause");
return 0;
}