蓝桥杯 猜发表言论正确性

第一题:

A说不是他,B说是C,C说是D,D说他胡说,有一个人说了假话,雷锋是谁??

日常一水

#include<iostream>
using namespace std;

int main()
{
    int sum;
    char ch;
    for(ch == 'A';ch <= 'D';ch++)
    {
        sum = (ch != 'A') + (ch == 'C') + (ch == 'D') + (ch != 'D');
        if(sum == 3)
            cout<<ch;
    }
    return 0;
}

 第二题

古代有一个皇帝,命令赵、钱、孙、李、周、吴、郑、王八员大将陪同他外出打猎。经过一番追逐,有一员大将用箭射中了一只鹿,开始谁也不清楚是哪一员大将射中的。这时候,皇帝叫大家先不要去看箭上刻写的姓氏,而要大家先猜猜究竟是谁射中的。

   八员大将众说纷纭。

   赵说:“或者是王将军射中的,或者是吴将军射中的。”

   钱说:“如果这支箭正好射中鹿的头,那么鹿是我射中的。”

   孙说:“我可以断定是郑将军射中的。”

   李说:“即使这支箭正好射中鹿的头,也不可能是钱将军射中的。”

   周说:“赵将军猜错了。”

   吴说:“不会是我射中的,也不是王将军射中的。”

   郑说:“不是孙将军射中的。”

   王说:“赵将军没有猜错。”

   猜完之后,皇帝命令赵将军把鹿身上的箭拔出来验看,证实八员大将中有n人猜对了。

   你知道鹿究竟是谁射死的吗?

#include<iostream>
using namespace std;

int main()
{
    int sum,n;
    char ch;
    while(cin>>n&&n>=0&&n<=8)
    {
        int count = 0;
        char t[10]; 
        for(ch == 'A';ch <= 'H';ch++)
        {
            sum = 2*(ch == 'F'||ch == 'H') + (ch == 'B') + (ch == 'G') + (ch != 'B') + 2*(!(ch == 'F'||ch == 'H')) + (ch != 'C');
            if(sum == 3)
            {
                count++;
                t[count-1] = ch;
            }
        }
        if(count==1)
            cout<<t[0]<<endl;
        else
            cout<<"DONTKNOW"<<endl;
    }

    return 0;
}

 

posted @ 2018-02-26 09:09  ZZUGPY  阅读(157)  评论(0编辑  收藏  举报