本地是可以过样例的,但是提交后样例都过不了,是scanf的问题吗?
#include <cstdio>
#include <stack>
using namespace std;
stack<long long> S;
int main()
{
long long num;
char op;
while (true) {
if (scanf("%lld.", &num) == 1) {
// printf("num: %lld\n", num);
S.push(num);
} else if (scanf("%c", &op) == 1) {
// printf("op: %c\n", op);
if (op == '@')
break;
if (op != '+' && op != '-' && op != '*' && op != '/')
continue;
long long n1, n2, res;
n2 = S.top();
S.pop();
n1 = S.top();
S.pop();
if (op == '+')
res = n1 + n2;
else if (op == '-')
res = n1 - n2;
else if (op == '*')
res = n1 * n2;
else if (op == '/')
res = n1 / n2;
S.push(res);
}
}
printf("%lld\n", S.top());
return 0;
}