四大湖(C程序设计进阶第2周)
2015-11-08 14:48
281 查看
问题描述
我国有4大淡水湖。
A说:洞庭湖最大,洪泽湖最小,鄱阳湖第三。
B说:洪泽湖最大,洞庭湖最小,鄱阳湖第二,太湖第三。
C说:洪泽湖最小,洞庭湖第三。
D说:鄱阳湖最大,太湖最小,洪泽湖第二,洞庭湖第三。
已知这4个湖的大小均不相等,4个人每人仅答对一个,
请编程按照鄱阳湖、洞庭湖、太湖、洪泽湖的顺序给出他们的大小排名。
输入
无。
输出
输出为4行,第1行为鄱阳湖的大小名次,从大到小名次分别表示为1、2、3、4;第2、3、4行分别为洞庭湖、太湖、洪泽湖的大小名次。
输入示例
输出示例
提示
此题我写的方法太笨了,较好的方法是先枚举出所有的可能性(A43=24中,做循环即可得出),再做判断。
源码
我国有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; }
相关文章推荐
- 计算机英语词汇大全
- Swift中用到extension的一些基本的扩展功能讲解
- CSS+DIV定位分析(relative,absolute,static,fixed)
- 数据结构实验之栈五:下一较大值(一)
- 欢迎使用CSDN-markdown编辑器
- BZOJ 2038: [2009国家集训队]小Z的袜子(hose)
- CSS+DIV定位分析(relative,absolute,static,fixed)
- 免费虚拟主机
- hdu2196 Computer(树形dp)
- Win10编译OpenCV2.4.9+CUDA7.5的方法
- Silverlight文件上传下载实现方法(下载保存)
- HomeBrew的安装和简单使用
- 文字排版 white--space属性解析
- Java基础---包装类
- [团队项目]expat不兼容BUG
- Android Binder机制简单了解
- 在 Xcode 7 中安装 Alcatraz
- python列表相乘函数map函数
- 数据结构实验之栈四:括号匹配
- 123