竞赛名次竞猜
在一次竞赛中,A、B、C、D、E 等五人经过激烈的角逐,最终取得了各自的名
次,他们的一个好朋友很遗憾没有观看到比赛,在比赛结束后这个朋友询问他们
之间的名次是得知:C 不是第一名,D 比 E 低二个名次,而 E 不是第二名,A
即不是第一名,也不是最后一名,B 比 C 低一个名次。编写程序,计算这五个
人各自的名次并输出。
#include<iostream>
using namespace std;
void JudgeRank(void)
{
int A = 0;
int B = 0;
int C = 0;
int D = 0;
int E = 0;
for (A=2; A<5; A++)
{
for (B=1; B<=5; B++)
{
for (C=2; C<=5; C++)
{
for (D=1; D<=5; D++)
{
for (E=1; E<=5; E++)
{
if ( (1 == ((2 == B) + (3 == A))) && (1 == ((2 == B) + (4 == E)))
&& (1 == ((1 == C) + (2 == D))) && (1 == ((5 == C) + (3 == D)))
&& (1 == ((4 == E) + (1 == A))) && (120 == A * B * C * D *E)
&& (15 == (A + B + C + D + E)) )
{
printf("A = %d, B = %d, C = %d, D = %d, E = %d\n",A, B, C, D, E);
}
else
{
;
}
}
}
}
}
}
return;
}
int main()
{
JudgeRank();
system("pause");
return 0;
}

浙公网安备 33010602011771号