这个有会的吗,有C语言实现帮我一下。

兔子尼克、马克、马尼、波力四兄妹个头差不多,长得很像。一天,格
莱尔到他们家玩,他们让格莱尔猜谁大谁小。格莱尔第1次猜:马克老大,波力
最小,马尼老三,尼克老二;第2次猜:波力老大,马克最小,马尼老二,尼克
老三;第3次猜:波力最小,马克老三;第4次猜:马克老大,尼克最小,波力
老三,马尼老二。格莱尔每次仅猜对了一半。
请设计并实现一算法,算一算这四兄妹的真实大小。

穷举呗,把四兄妹排名穷举,然后看看哪个排名符合三种选择各对一半的情况

#include <stdio.h>
int main()
{
    int a,b,c,d;
    int i,j,m,n;
    //兔子尼克、马克、马尼、波力
    for(i=1;i<=4;i++)
    {
        for(j=1;j<=4;j++)
        {
            if(i==j)
                continue;
            for(m=1;m<=4;m++)
            {
                if(m==i || m==j)
                    continue;
                for(n=1;n<=4;n++)
                {
                    if(n==i || n==j || n==m)
                        continue;
                    a=(j==1);
                    b=(n==4);
                    c=(m==3);
                    d=(i==2);
                    if(a+b+c+d != 2)
                        continue;
                    a=(n==1);
                    b=(j==4);
                    c=(m==2);
                    d=(i==3);
                    if(a+b+c+d != 2)
                        continue;
                    a=(j==1);
                    b=(i==4);
                    c=(n==3);
                    d=(m==2);
                    if(a+b+c+d != 2)
                        continue;
                    a=(n==4);
                    b=(j==3);
                    if(a+b != 1)
                        continue;
                    printf("尼克:%d,马克:%d,马尼:%d,波力:%d\n",i,j,m,n);
                }
            }
        }
    }
    return 0;
}