码迷,mamicode.com
首页 > 其他好文 > 详细

Week2 #2 四大湖

时间:2019-10-08 18:58:53      阅读:104      评论:0      收藏:0      [点我收藏+]

标签:cout   大小   div   循环   str   4行   span   amp   ace   

描述

我国有4大淡水湖。

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

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

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

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

 

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

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

 

输入

无。

 

输出

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

 

样例输入

 

样例输出

3

2

1

4

此题没有做出来

借鉴了别人,学习了利用表达式的值来判断真假,利用循环去试每一种排名的可能,同时满足题目的要求的排名就可。

#include<iostream>
using namespace std;

int main() {
    int p;//鄱阳湖的排名
    int d;//洞庭湖的排名
    int t;//太湖的排名
    int h;//洪泽湖的排名
    for (p = 1; p <= 4; p++) {
        for (d = 1; d <= 4; d++) {
            for (t = 1; t <= 4; t++) {
                for (h = 1; h <= 4; h++) {
                    if ((p != d && p != t && p != h && d != t && d != h && t != h)
                        && ((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;
}

这是oj系统上可以接受的代码,但是实际跑出来的输出为1,2 ,3,4与样例输出不符,网络上上的代码也是如此。

不知道为什么- -

Week2 #2 四大湖

标签:cout   大小   div   循环   str   4行   span   amp   ace   

原文地址:https://www.cnblogs.com/xyhzq99/p/11637150.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!