题目描述:
题目 :
3个人比饭量大,每个人说了两句话
A说:B比我迟的多,C和我吃的一样多;
B说:A比我吃得多,A也比C吃的多;
C说:我比B吃的多,B比A吃得多;
事实上饭量越小的讲对的话越多,请编程按饭量的大小输出三个人的顺序
代码:
#include <iostream>
using namespace std;
int main()
{
int A ,B,C;
int AS,BS,CS;
int a,b,c; //用于记录最后的答案
for(A=1;A<=3;A++)
{
for(B=1;B<=3;B++)
{
for(C=1;C<=3;C++)
{
AS=(B>A)+(C==A);
BS=(A>B)+(A>C);
CS=(C>B)+(B>A);
if(!(A<=B&&AS<=BS||A<=C&&AS<=BS||B<A&&BS<=AS||B<C&&BS<=CS
||C<=A&&CS<=AS||C<=B&&CS<=BS))
{
a=A;
b=B;
c=C;
}
}
}
}
if(a>=b&&b>=c)
{
cout<<"A B C"<<endl;
}
if(a>=c&&c>=b)
{
cout<<"A C B"<<endl;
}
if(b>=a&&a>=c)
{
cout<<"B A C"<<endl;
}
if(b>=c&&c>=a)
{
cout<<"B C A"<<endl;
}
if(c>=a&&a>=b)
{
cout<<"C A B"<<endl;
}
if(c>=a&&b>=a)
{
cout<<"C B A"<<endl;
}
return 0;
}