microchip @ 2020-06-14 20:46:48
在信奥一本通网站上的题目和这个一样,只不过把‘ ’改成了‘.’,但在这里我AC了,那里只打了10分。
我的代码:
#include<bits/stdc++.h>
using namespace std;
stack<int> a;
string s;
int num,j,k;
int main()
{
getline(cin,s);
for(int i=0;i<s.size();i++){
if(s[i]=='.'){
a.push(num);
num=0;
}else if(s[i]<58&&s[i]>47){
num*=10;
num+=s[i]-'0';
}else if(s[i]==42||s[i]==43||s[i]==45||s[i]==47){
if(s[i]==42){
j=a.top();
a.pop();
k=a.top();
a.pop();
a.push(k*j);
}else if(s[i]==43){
j=a.top();
a.pop();
k=a.top();
a.pop();
a.push(k+j);
}else if(s[i]==45){
j=a.top();
a.pop();
k=a.top();
a.pop();
a.push(k-j);
}else if(s[i]==47){
j=a.top();
a.pop();
k=a.top();
a.pop();
a.push(k/j);
}
}
}
cout<<a.top()<<endl;
return 0;
}
注:我在信奥一本通网站上已经把‘.’改成了‘ ’
by B_lhx @ 2020-06-14 20:53:32
花样发题解?
by Ryo_Yamada @ 2020-06-14 21:04:10
花样发题解(大雾逃
by microchip @ 2020-06-14 21:04:56
@AndyL2048 不,我要完成作业
by microchip @ 2020-06-14 21:08:22
???
by microchip @ 2020-06-14 21:08:46
给个有用的回复啊