求一个表达式求值程序谢谢了,以字符序列的形式从计算机终端输入语法正确、不含变量的整数表达式,利用事先给定的运算优先级别,实现对算术四则混合运算表达式的求值,并演示在求值过
求一个表达式求值程序谢谢了,
以字符序列的形式从计算机终端输入语法正确、不含变量的整数表达式,利用事先给定的运算优先级别,实现对算术四则混合运算表达式的求值,并演示在求值过程中运算符栈、操作数栈的变化过程
求一个表达式求值程序谢谢了,以字符序列的形式从计算机终端输入语法正确、不含变量的整数表达式,利用事先给定的运算优先级别,实现对算术四则混合运算表达式的求值,并演示在求值过
求一个表达式求值程序谢谢了,
以字符序列的形式从计算机终端输入语法正确、不含变量的整数表达式,利用事先给定的运算优先级别,实现对算术四则混合运算表达式的求值,并演示在求值过程中运算符栈、操作数栈的变化过程
#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;}
满意请采纳