洛谷P1957口算练习题,输入的数据可能是三个(第一个是字符,后两个是整型) 也可能是两个(都是整型)。
原因:cin有一个特性,如果定义了一个int型的变量,输入这个变量时就会检测输入的是不是数字。如果程序发现用户输入了错误内容时(输入的不是int型),程序就会锁住cin。
如何解决:判断是否输入错误,若输入错误就执行 cin.clear(); ,以重置cin状态,使程序能继续读入其他数据。这时输入的错误数据还会在缓冲区中,继续输入数据的话,还是会从这个数据开始读取。
例如:
int a = 1, b = 2, c = 3;
cin >> a >> b >> c