中级光能
2708 猜数
题目描述 Description
下课了,有两个同学想放松下,于是其中的小山同学想出来一个很好玩的游戏,要小蜀同学猜他带了多少零花钱。
猜的方法是:小蜀同学说一个数,由小山来判断。如果小山认为自己没有那么多钱,会回答“too high”,如果小山认为比这多,则回答“too low”;如果他认为游戏结束时,他会说“right on”,每次游戏结束,由小蜀来判断是不是小山说谎了,如果说谎,则输出“Dishonest”,否则输出“honest”。
输入描述 Input Description
输入若干整数(0<n<=10),每输入一个整数,接下来的一行输入(too high,too low,right on)中的一个。如果是right on,则输入结束。
输出描述 Output Description
输出只有一行,说谎了则输出“Dishonest”,否则输出“honest”。
样例输入 Sample Input
10
too high
3
too low
4
too high
2
right on
样例输出 Sample Output
Dishonest
#include<iostream> using namespace std; int n,maxx=-1,minx=10000; string s; int main(){ while(s!="right on"){ cin>>n; getline(cin,s); getline(cin,s); if(s=="too high"){ if(maxx<n){ maxx=n; } } else if(s=="too low"){ if(minx>n){ minx=n; } } else if(s=="right on"){ if(n<maxx&&n>minx){ cout<<"honest"; } else{ cout<<"Dishonest"; } break; } } return 0; }
70分的可怜代码
中级守护
首先,定义
int .........
其次,用死循环
while(1){
}
然后输入整数和字符串
接着:
判断s
最后输出
代码:
/*
10
too high
8
too low
9
right on
*/
string s;
整形 high=11,low;
整形 n;
int main(){
死循环{
输入(cin)>>n;
输入字符串并吃掉换行
如果(s=="right on") break;
否则 if(s=="too high"){
high=n;
}
否则{
low=n;
}
}
如果(s=="right on"){
如果(n>low&&n<high){
输出<<"honest";
}
否则{
输出<<"Dishonest";
}
}