这个排序,怎么去实现,求教:::
ABCDE 代表五个人以下他们分别说的话 :
A说:B2 A3
B说:B2 E4
C:C1 D2
D:C5 D3
E:E4 A1
就是他们参加比赛后说的话
比如:A说B是第二,A是第三 他们每个人的话中只有一半是正确的 大家说说思路 呵呵 用C语言怎么实现排序
程序代码:
int a,b,c,d,e;
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;
for (e=1;e<=5;e++)
{
if (e == a || e == b || e == c || e == d) continue;
if (
( (b==2&&a!=3) || (b!=2&&a==3) )
&& ( (b==2&&e!=4) || (b!=2&&e==4) )
&& ( (c==1&&d!=2) || (c!=1&&d==2) )
&& ( (c==5&&d!=3) || (c!=5&&d==3) )
&& ( (e==4&&a!=1) || (e!=4&&a==1) )
)
{
printf("名次:\n a---%d b---%d c---%d d---%d e---%d\n",a,b,c,d,e);
}
}
}
}
}
}