统计负数的个数,关于ctrl+Z解决方法
统计负数的个数,关于ctrl+ZC/C++ codefor(i0i100++i){cinvalueif(value0){++sum}}用上面的循环统
统计负数的个数,关于ctrl+Z
C/C++ codefor(i=0;i<100;++i) { cin>>value; if(value<0) { ++sum; } }
用上面的循环统计负数。当我输入十个数后按下CTRL+Z,循环终止,但是得到的是很奇怪的结果,请问为什么会这样?比如我输入8、-9、-8得到的结果是99.
[解决办法]sun初值赋值了没? 判断结束后并没有把value清空,用scanf吧,清晰些,用cin不太清晰,又不知道你value什么类型。
[解决办法]cin是流结构的..
[解决办法]按strl+z的时候,流已经被设置为fail了。从而你使用for循环,但是cin这句不执行,value里还是未按ctrl+z之前的值。然后++那么多次
[解决办法]参考:
C/C++ code#include <iostream>using namespace std;int main(int argc, char** argv){ int value = 0; int sum = 0; while(true) { cin >> value; if(value == 0) break; // 用输入0作为结束 if(value < 0) { ++sum; } cin.sync(); cin.clear(); } cout << sum << endl; return 0;}