Estella @ 2018-10-15 22:46:21
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
#include <stack>
using namespace std;
char s;
stack<int>p;
int main(){
scanf("%c",&s);
while(s!='@'){
while(s>='0'&&s<='9'){//这样写为什么超时
p.push(0);
p.top()=p.top()*10+s-'0';
scanf("%c",&s);
}//这样写为什么超时
if(s=='+'){
int tmp=p.top();
p.pop();
p.top()+=tmp;
}
if(s=='-'){
int tmp=p.top();
p.pop();
p.top()-=tmp;
}
if(s=='*'){
int tmp=p.top();
p.pop();
p.top()*=tmp;
}
if(s=='/'){
int tmp=p.top();
p.pop();
p.top()/=tmp;
}
scanf("%c",&s);
}
printf("%d",p.top());
return 0;
}
by Estella @ 2018-10-15 23:03:18
好吧,懂了
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
#include <stack>
using namespace std;
char s;
stack<int>p;
int main(){
scanf("%c",&s);
while(s!='@'){
if(s>='0'&&s<='9'){
p.push(0);
while(s>='0'&&s<='9'){
p.top()=p.top()*10+s-'0';
scanf("%c",&s);
}
}
if(s=='+'){
int tmp=p.top();
p.pop();
p.top()+=tmp;
}
if(s=='-'){
int tmp=p.top();
p.pop();
p.top()-=tmp;
}
if(s=='*'){
int tmp=p.top();
p.pop();
p.top()*=tmp;
}
if(s=='/'){
int tmp=p.top();
p.pop();
p.top()/=tmp;
}
scanf("%c",&s);
}
printf("%d",p.top());
return 0;
}