第一题:
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; }