乌拉 @ 2017-10-25 16:30:10
奇技淫巧++
#include<bits/stdc++.h>
using namespace std;
int a,p,q,r;
char t;
stack <int> st;
int main()
{
while(1)
{
cin>>t;
if(t=='@') break;else cin.putback(t);
cin>>a;
st.push(a);
cin>>t;
if(t=='@') break;
if(t=='.') cin>>t;
while ((t<='0'||t>='9')&&t!='@')
{
q=st.top();st.pop();
p=st.top();st.pop();
switch(t)
{
case'+':r=p+q;break;
case'-':r=p-q;break;
case'*':r=p*q;break;
case'/':r=p/q;break;
}
st.push(r);
cin>>t;
}
cin.putback(t);
}
cout<<st.top();
return 0;
}
by aiyougege @ 2017-10-25 16:34:38
太强大了,是怎么实现的
by aiyougege @ 2017-10-25 16:35:55
就是那个putback
by hjfzzm @ 2017-10-25 17:26:16
这个太厉害了,学习了,又是输入输出流的问题......
by UKE开车自动机 @ 2017-10-25 20:06:24
by Ash1mar @ 2017-11-03 16:00:07
@hjfzzm 没看懂这是什么操作。。。能稍微解释下吗