poj2328---"right on"进入下一个case的模板(while)
#include <stdio.h> #include <stdlib.h> #include<string.h> int main() { char str[10]; int n,begin=0,end=11; while(scanf("%d",&n) && n)//以0结束的可以由这种格式写 { getchar();//读取缓冲区的东西 gets(str); if(!strcmp(str,"too low") && n>begin)//猜数的人傻,加后面那个条件说明他每一次都像第一次猜 { begin=n; } if(!strcmp(str,"too high") && n<end) { end=n; } if(!strcmp(str,"right on")) { if(n<end && n>begin) { printf("Stan may be honest"); } else { printf("Stan is dishonest"); } begin=0;end=11;//初始化条件 continue; } } return 0; }
总结:gets之前如果用了scanf,中间要用getchar
scanf不能用来读并且存储包含空格的串,用gets,但之前一定用getchar清除缓冲区的杂碎
10 too high 3 too low 4 too high 2 right on 5 too low 7 too high 6 right on 0
这种输入的模板代码,read above
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步