每日一题4.19.2
Emacs计算器
代码实现:
#include<iostream>
#include<vector>
#include<string>
#include<stack>
using namespace std;
int main()
{
int n;
int a, b, ret;
while (cin >> n)
{
if (n == 0)
continue;
vector<string> s(n);
stack<int> m;
for (int i = 0; i < n; i++)
{
cin >> s[i];
}
for (int i = 0; i < n; i++)
{
if (s[i][0] >= '0'&&s[i][0] <= '9')
m.push(atoi(s[i].data()));
else
{
a = m.top();
m.pop();
b = m.top();
m.pop();
switch (s[i][0])
{
case '+': m.push(a + b);
break;
case '-': m.push(b - a);
break;
case '*': m.push(a * b);
break;
case '/': m.push(b / a);
break;
}
}
}
cout << m.top() << endl;
}
return 0;
}