原题链接:弟弟的作业
解题思路:
直接将计算表达式当作字符串输入,读取出a,b,c的值。判断即可。
在字符串中a的分界是+或者-;使用string中的find_first_of函数,找到第一个出现+、-的位置
string各个函数的用法,参考:string - C++ Reference (cplusplus.com)
找到了分隔位置,那么就需要分割字符串然后将字符串转换成整数
substr函数用来分割
我们自定义一个字符串转换成整型的函数,具体参考代码。
注意包含头文件#include <sstream>
参考代码:
#include <iostream>
#include <cstring>
#include <string>
#include <cmath>
#include <algorithm>
#include <vector>
#include <string.h>
#include <sstream>
int toint(string str)
{
int ret;
stringstream stream(str);
stream >> ret;
return ret;
}
void test_1073()
{
string str;
int sum=0;
while(cin>>str)
{
int a,b,c,pos1,pos2;
pos1=str.find_first_of("+-");
pos2=str.find_first_of("=");
a=toint(str.substr(0,pos1));
b=toint(str.substr(pos1+1,pos2));
c=toint(str.substr(pos2+1));
if(str[pos1]=='+')
{
if(a+b==c)
{
sum++;
}
}
else
{
if(a-b==c)
{
sum++;
}
}
}
cout<<sum<<endl;
}
int main()
{
test_1073();
return 0;
}0.0分
1 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复