C++11虽然有radio库,但用起来也没那么方便
代码简单易懂,就不注释了
string fractionAddition(string expression) {
expression.push_back('+');
vector<int> fenzi;
vector<int> fenmu;
int i=expression[0]=='-'?0:-1,j=0;
while(j<expression.size()){
//cout<<i<<" "<<j<<endl;
if(expression[j]=='/'){
int t=atoi(expression.substr(i+1,j-i-1).c_str());
if(i>=0&&expression[i]=='-') t*=-1;
fenzi.push_back(t);
i=j;
}
else if(expression[j]=='+'||(expression[j]=='-'&&j!=0)){
fenmu.push_back(atoi(expression.substr(i+1,j-i-1).c_str()));
i=j;
}
++j;
}
int fm=1