您的位置:首页 > 其它

四大湖(C程序设计进阶第2周)

2015-11-08 14:48 281 查看
问题描述

我国有4大淡水湖。

A说:洞庭湖最大,洪泽湖最小,鄱阳湖第三。

B说:洪泽湖最大,洞庭湖最小,鄱阳湖第二,太湖第三。

C说:洪泽湖最小,洞庭湖第三。

D说:鄱阳湖最大,太湖最小,洪泽湖第二,洞庭湖第三。

已知这4个湖的大小均不相等,4个人每人仅答对一个,

请编程按照鄱阳湖、洞庭湖、太湖、洪泽湖的顺序给出他们的大小排名。

输入

无。

输出

输出为4行,第1行为鄱阳湖的大小名次,从大到小名次分别表示为1、2、3、4;第2、3、4行分别为洞庭湖、太湖、洪泽湖的大小名次。

输入示例

(无)


输出示例

3
2
1
4


提示

此题我写的方法太笨了,较好的方法是先枚举出所有的可能性(A43=24中,做循环即可得出),再做判断。

源码

#include <iostream>
using namespace std;

int main()
{
for (int p = 1; p < 5; p++)
{
for (int d = 1; d < 5; d++)
{
if (d == p)
{
continue;
}
for (int t = 1; t < 5; t++)
{
if ((t==d)||(t==p))
{
continue;
}
for (int h = 1; h < 5; h++)
{
if ((h==t)||(h==p)||(h==d))
{
continue;
}
if (((d==1)+(h==4)+(p==3) == 1)&&((h==1)+(d==4)+(p==2)+(t==3) == 1)&&((h==4)+(d==3) == 1)&&((p==1)+(t==4)+(h==2)+(d==3) == 1))
{
cout << p << endl << d << endl << t << endl << h <<endl;
}
}
}
}
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: