作者在 2010-05-04 09:30:02 发布以下内容
A说:B比我吃得多,C和我吃得一样多;
B说:A比我吃得多,A也比C吃得多;
C说:我比B吃得多,B比A吃得多。
实际上饭量越小的人将对的话越多,请编程按饭量的大小输出3人的顺序。
程序如下:
#include <iostream.h>// 4-1--饭量比较参考程序
int main( )
{ int A,B,C,as,bs,cs; //定义3个变量,分别表示3个人
for (A=1;A<=3;A++) // 枚举A
for (B=1;B<=3;B++) // 枚举B
for (C=1;C<=3;C++) // 枚举C
{ as=(B>A)+(C==A);
bs=(A>B)+(A>C);
cs=(C>B)+(B>A);
if (!((A>=B)&&(as>=bs)||(A>=C)&&(as>=cs)
||(B>=C)&&(bs>=cs)||(B>=A)&&(bs>=as)
||(C>=A)&&(cs>=as)||(C>=B)&&(cs>=bs)))
{ cout << "A= " << A << endl;
cout << "B= " << B << endl;
cout << "C= " << C <<endl;
} //输出结束
} //循环结束
return 0;
}
int main( )
{ int A,B,C,as,bs,cs; //定义3个变量,分别表示3个人
for (A=1;A<=3;A++) // 枚举A
for (B=1;B<=3;B++) // 枚举B
for (C=1;C<=3;C++) // 枚举C
{ as=(B>A)+(C==A);
bs=(A>B)+(A>C);
cs=(C>B)+(B>A);
if (!((A>=B)&&(as>=bs)||(A>=C)&&(as>=cs)
||(B>=C)&&(bs>=cs)||(B>=A)&&(bs>=as)
||(C>=A)&&(cs>=as)||(C>=B)&&(cs>=bs)))
{ cout << "A= " << A << endl;
cout << "B= " << B << endl;
cout << "C= " << C <<endl;
} //输出结束
} //循环结束
return 0;
}