时间限制: 1000 ms 内存限制: 65536 KB
提交数: 3892 通过数: 1465
【题目描述】
小明在你的帮助下,破密了Ferrari设的密码门,正要往前走,突然又出现了一个密码门,门上有一个算式,其中只有“(”,“)”,“0-9”,“+”,“-”,“*”,“/”,“^”,求出的值就是密码。小明数学学得不好,还需你帮他的忙。(“/”用整数除法)
【输入】
共1行,为一个算式。
【输出】
共1行,就是密码。
【输入样例】
1+(3+2)(7^2+69)/(2)
【输出样例】
258
【来源】
No
#include<iostream>
#include<cmath>
#include<cstdio>
#include<string>
#include<cstring>
using namespace std;
int number[101],i=0, p=1;
char symbol[101],s[256],t[256];
void push() {
//算符入栈运算
symbol[++p]=s[i];
}
void pop() {
//运算符栈顶元素出栈,并取出操作数栈元素完成相应的运算
switch (symbol[p--]) {
//运算完成之后扔掉运算符,也标志着需要运算的数已经运算完成
case '+': {
number[p]+=number[p + 1];
break;
}
case '-': {
number[p