资源限制
内存限制:256.0MB C/C++时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s
编写一个字符串表达式求解函数int expression(char* s); 输入一个字符串表达式,返回它的结果。表达式长度不会超过100。表达式最少有一项,且以等号=结束。表达式中只包含加法和减法,且运算均在整数范围之内。
编写main函数测试该函数的正确性。
输入:
2+2345+913-3=
输出:
3257
#include <iostream>
#include <cstring>
#include <cstdio>
using namespace std;
int main()
{
char an[150];
cin.getline(an, 150);
int number=0, res=0;
char opetor = '+';
for(int i = 0; i < strlen(an) - 1; i++)
{
if(an[i] >= int('0') && an[i] <= int('9'))
{
number = number * 10 + int(an[i]) - int('0');
}
if(an[i] == '+' || an[i] == '-')
{
if(opetor == '-')
number *= -1;
res += number;
number = 0;
if(an[i] == '+')
opetor = '+';
if(an[i] == '-')
opetor = '-';
}
}
if(opetor == '-')
number *= -1;
res += number;
cout<<res;
return 0;
}