解题思路:
分别把输入的每一个部分存起来。(即3个整型,2个运算符)
但考虑到最后一项可能是整形可能是问号,所以考虑将最后一项作为字符串读入
a为数字1
b为数字2
c为用于判断的运算符
d为等号,进行占位,防止输入流获取res出现错误
res为问号或计算值
注意事项:
STL之sstream字符串流的使用,可以将字符串转化为整型
参考代码:
#include <iostream> #include <sstream> using namespace std; int main() { int a = 0, b = 0, cnt = 0, res_ = 0; char c, d; string res; while(cin>>a>>c>>b>>d>>res) { if (res.find("?")==0) continue; else { stringstream res1; res1 << res; res1 >> res_; if (c == '+') { if (a + b == res_) cnt++; } else if (c == '-') { if (a - b == res_) cnt++; } } } cout << cnt; return 0; }
0.0分
2 人评分