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;
int fz=0;
for(int& f:fenmu) fm*=f;
for(int i=0;i<fenzi.size();++i){
//cout<<fenzi[i]<<" "<<fenmu[i]<<endl;

本文介绍了如何使用C++11实现分数表达式的加减运算,尽管C++标准库中已有相应的支持,但直接操作更显直观。提供了一段简洁的代码实现。
最低0.47元/天 解锁文章
1170

被折叠的 条评论
为什么被折叠?



