求一个表达式求值程序谢谢了,以字符序列的形式从计算机终端输入-查字典问答网
分类选择

来自龚晖的问题

  求一个表达式求值程序谢谢了,以字符序列的形式从计算机终端输入语法正确、不含变量的整数表达式,利用事先给定的运算优先级别,实现对算术四则混合运算表达式的求值,并演示在求值过

  求一个表达式求值程序谢谢了,

  以字符序列的形式从计算机终端输入语法正确、不含变量的整数表达式,利用事先给定的运算优先级别,实现对算术四则混合运算表达式的求值,并演示在求值过程中运算符栈、操作数栈的变化过程

1回答
2020-04-11 16:02
我要回答
请先登录
邵华章

  #include#include#include#defineEMPTY-1typedefstructStack*stack_ptr;structStack{intcapacity;int*stack;inttop_of_value;};stack_ptrCreate_Stack(intsize){stack_ptrtmp_cell;tmp_cell=(stack_ptr)malloc(sizeof(Stack));tmp_cell->stack=(int*)malloc(sizeof(int)*size);tmp_cell->capacity=size;tmp_cell->top_of_value=EMPTY;returntmp_cell;}intIs_Empty(stack_ptrs){returns->top_of_value==EMPTY;}intIs_Full(stack_ptrs){returns->capacity-1==s->top_of_value;}voidPush(stack_ptrs,intvalue){if(!Is_Full(s)){s->stack[++s->top_of_value]=value;}}intTop(stack_ptrs){if(!Is_Empty(s)){returns->stack[s->top_of_value--];}return0;}intTop_Of_Value(stack_ptrs){returns->stack[s->top_of_value];}intPriority_Test(intvalue){switch(value){case'*':return100;break;case'/':return100;break;case'+':return1;break;case'-':return1;break;}return0;}intMath_Priority(intvalue,int_tmp,int_tmp2){switch(value){case0x2A:return_tmp*_tmp2;break;case0x2F:return_tmp/_tmp2;break;case0x2B:return_tmp+_tmp2;break;case0x2D:return_tmp-_tmp2;break;}return0;}

  满意请采纳

2020-04-11 16:05:10

最新问答

推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  •