[键入文字] [键入文字] [键入文字]
{
int j=i-1;
if(isdigit(str[j])) {
exp+=\;
if(ope.empty()||ope.top()=='('||ope.top()=='+'||ope.top(
)=='-')
{
ope.push(str[i]);
} else {
while(!ope.empty()&&ope.top()!='('&&ope.top()!='+'&&ope.top()!='-')
{
exp+=ope.top(); ope.pop();
}
-7-
[键入文字] [键入文字] [键入文字]
ope.push(str[i]);
} } else {
if(ope.empty()||ope.top()=='('||ope.top()=='+'||ope.top(
)=='-')
{ } else {
ope.push(str[i]);
while(!ope.empty()&&ope.top()!='('&&ope.top()!='+'&&ope.
top()!='-')
{ }
exp+=ope.top(); ope.pop();
-8-
[键入文字] [键入文字] [键入文字]
ope.push(str[i]);
} }
}
//}
else if(str[i]=='^') { int j=i-1; if(str[j]!=')') { exp+=\;
}
ope.push(str[i]);
}
else if(str[i]=='(') { ope.push(str[i]); }
else if(str[i]==')')
-9-
[键入文字] [键入文字] [键入文字]
出
}
{ } else { }
return \有错误\; exp+=\;
while(ope.top()!='(') { }
ope.pop();
exp+=ope.top(); ope.pop();
while(!ope.empty())//遍历完表达式将堆栈中的所有运算符输
{
if(isdigit(exp[exp.length()-1])) {
exp=exp+\+ope.top();
-10-
相关推荐: