这个排序,怎么去实现,求教:::
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); } } } } } }