一道C++题目,求解答 10

题目描述3个人比饭量大小,每人说了两句话。A说:B比我吃得多,C和我吃得一样多。B说:A比我吃得多,A也比C吃得多。C说:我比B吃得多,B比A吃得多。事实上饭量越小的人讲... 题目描述

3个人比饭量大小,每人说了两句话。
A说:B比我吃得多,C和我吃得一样多。
B说:A比我吃得多,A也比C吃得多。
C说:我比B吃得多,B比A吃得多。
事实上饭量越小的人讲对的话越多。请编程按饭量的大小输出3个人的顺序。

输入描述

输出描述

三个字母,按饭量从小到大的顺序排列。字母间用一个空格隔开。

不要直接输出!!
展开
 我来答
谢应宸
2014-10-17 · TA获得超过2640个赞
知道大有可为答主
回答量:2731
采纳率:66%
帮助的人:2109万
展开全部
#include <iostream>
using namespace std;

int main()
{
int A, B, C; //定义3个人的饭量
int As, Bs, Cs; //定义3个人说的话
int AnsA, AnsB, AnsC; //用于记录最后的答案
for (A = 1; A <= 3; A++)
for (B = 1; B <= 3; B++)
for (C = 1; C <= 3; C++)
{
As = (B>A) + (C==A); //A讲的话
Bs = (A>B) + (A>C) ; //B讲的话
Cs = (C>B) + (B>A) ; //C讲的话
if(!(A <= B && As <= Bs || A <= C && As <= Cs ||
B <= A && Bs <= As || B <= C && Bs <= Cs ||
C <= A && Cs <= As || C <= B && Cs <= Bs))
//如果不存在一个人饭量比另一个人小,说对的话也不比另一个人多,则记录下这时的解
{
AnsA = A;
AnsB = B;
AnsC = C;
}
}
//输出部分省略
return 0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式