14. 老师问学生,这道题你会做了吗? 如果学生答"会了(y)",则可以放学. 如果学生不会做(n),则老师再讲一遍,再问学生是否会做了......直到学生会为止,才可以放学. 直到学生会或老师给他讲了10遍还不会,都要放学
我也的代码是这样的:
- #include <stdio.h>
- int main(int argc, const char * argv[]) {
- char ch;
- for (int i=1; i<=10; i++) {
- printf("今天讲的会了吗?(会了输入y,不会输入n)\n");
- scanf("%c",&ch);
- if (ch=='y') {
- printf("可以放学了\n");
- break;
- }else printf("再讲一遍,这是第%d遍\n",i);
- }
- return 0;
- }
复制代码
但是输入n 的时候(先不考虑输入的不是Y 和N)
下边输入的运行结果 是这样的。
今天讲的会了吗?(会了输入y,不会输入n) n 再讲一遍,这是第1遍 今天讲的会了吗?(会了输入y,不会输入n) 再讲一遍,这是第2遍
今天讲的会了吗?(会了输入y,不会输入n) 我只输入了1次N,为什么第2遍没有让输入,直接就路过了。 (我以前看C语言书的时候记得有个清理输入缓冲区,不知道是不是还得加一句清理) 高手指点,小弟感激不尽
|