解题思路:
使用cin逐个拿到用户输入的数据再进行计算即可
注意事项:
需要掌握string与int互相转换的方法
string->int:
1、通过 istringstream 转换
#include <iostream>
#include <sstream>
using namespace std;
int main()
{
string str = "668";
int num = 0;
istringstream ss(str);//核心
ss >> num;//核心
cout << num;
return 0;
}
2、使用 sscanf 来转化
#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
string str = "668";
int num = 0;
sscanf(str.c_str(), "%d", &num);//核心
cout << num;
return 0;
}
3、使用 atoi 转换(推荐)
#include <iostream>
using namespace std;
int main()
{
string str = "668";
cout << atoi(str.c_str());//核心
return 0;
}
参考代码:
#include<iostream>
using namespace std;
int main()
{
int num1, num2, num3;//接收第一个数字,第二个数字,结果转换为数字后的值
char op1, op2;//接收第一个运算符和第二个运算符(第一个运算符为+或-,第二个运算符为=)
string abs;//用于接收最后等于的结果,结果有数字或者?
int sum = 0;//答对的数量
while (cin >> num1 >> op1 >> num2 >> op2 >> abs)
{
if (abs != "?")//当abs不为?时说明它为数字
{
num3 = atoi(abs.c_str());//则把类型string转为int
if (op1 == '+')//当运算符为+时则进入
{
if (num1 + num2 == num3)
++sum;
}
else//当运算符为其它时则进入(运算符只有+和-)
{
if (num1 - num2 == num3)
++sum;
}
}
}
cout << sum;
return 0;
}
0.0分
0 人评分