OpenJudge计算概论-四大湖

/*======================================================================
四大湖
总时间限制: 1000ms 内存限制: 65536kB
描述
我国有4大淡水湖。 
A说:洞庭湖最大,洪泽湖最小,鄱阳湖第三。 
B说:洪泽湖最大,洞庭湖最小,鄱阳湖第二,太湖第三。 
C说:洪泽湖最小,洞庭湖第三。 
D说:鄱阳湖最大,太湖最小,洪泽湖第二,洞庭湖第三。 
已知这4个湖的大小均不相等,4个人每人仅答对一个, 
请编程按照鄱阳湖、洞庭湖、太湖、洪泽湖的顺序给出他们的大小排名。
输入
无。
输出
输出为4行,第1行为鄱阳湖的大小名次,从大到小名次分别表示为1、2、3、4;第2、3、4行分别为洞庭湖、太湖、洪泽湖的大小名次。
样例输入
(无)
样例输出
3
2
1
4
提示
样例输出仅供格式参考
========================================================================*/
#include<stdio.h>
int main()
{
    int a,b,c,d;//代表a、b、c、d四人说的话说对的数量。 
    int x,y,z,m;//代表鄱阳湖、洞庭湖、太湖、洪泽湖 的排名。1是最大,4是最小 
    for(x=1;x<=4;x++)
    {
        for(y=1;y<=4;y++)
        {
            if(x!=y)
            {
                for(z=1;z<=4;z++)
                {
                    if(z!=x&&z!=y)
                    {
                        m=10-x-y-z;
                        a=(y==1)+(m==4)+(x==3);
                        b=(m==1)+(y==4)+(x==2)+(z==3);
                        c=(m==4)+(y==3);
                        d=(x==1)+(z==4)+(m==2)+(y==3);
                        if(a*b*c*d==1)
                        {
                            printf("%d
%d
%d
%d
",x,y,z,m);
                            return 0;
                        }
                    }
                    
                }
            }    
        }
    }
    return 0;
}
原文地址:https://www.cnblogs.com/huashanqingzhu/p/3455914.html