#include <stdio.h> #include <stdlib.h> #include <string.h> #include <ctype.h> #define MAXzhansize 30 char stack[MAXzhansize];// char deleted(int *top); void add(int *top,char item); ////////////////////////////////////////////////////////////////////////////////// ////////////逆波兰数计算 #define element int #define ni_MAXzhansize 20 /////////////+ - * / % out 数字 typedef enum{jia,jian,cheng,chu,yu,eos,shuzi}prece; int ni_stack[ni_MAXzhansize]; void nisuanadd(int *top,element item); element nisuandeleted(int *p); int eval(); prece gettoken(char*symbol,int *n); //////////////////////////////////////////////////////////////////////////// char c[30];////结果字符 void main() { int a[128]; a['+']=1;///预备优先级 a['-']=1; a['*']=2; a['/']=2; a['%']=2; a['(']=0; a[')']=0; a[',']=-1; int top=-1,j=0;//top始终是指向栈顶元素的 char b[30];/////原始字符 gets(b);//(2+3*4+5)*(2+3) add(&top,',');// 最低优先级a[',']=-1; for(int i=0;b[i]!='