5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果
A选手说:B第二,我第三;
B选手说:我第二,E第四;
C选手说:我第一,D第二;
D选手说:C最后,我第三;
E选手说:我第四,A第一;
比赛结束后,每位选手都说对了一半,请编程确定比赛的名次。
分析:每个人的可能结果为五种,他们相互关联,所以要用到循环嵌套
其次根据每个人说的话最后进行判断,要用到if语句,
#include <stdio.h>
#include <stdlib.h>
# include <time.h>
#include <string.h>
#pragma warning (disable:4996)
int main(){
int a = 1;
int b = 0;
int c = 0;
int d = 0;
int 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)) == 1 &&
((e == 4) + (a == 1)) == 1 &&
((b == 2) +( e == 4)) == 1 &&
((c == 1) + (d == 2)) == 1 &&
((c == 5) +( d == 3)) == 1){
if (120 == a*b*c*d*e){//所有的名次相乘,及12345相乘
printf("a=%d b=%d c=%d d=%d e=%d", a, b, c, d, e);
}
}
}
}
}
}
}
system("pause");
return 0;
}