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

#include #include #include #define EMPTY -1 typedef struct Stack* stack_ptr; struct Stack { int capacity; int *stack; int top_of_value; }; stack_ptr Create_Stack(int size) { stack_ptr tmp_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; return tmp_cell; } int Is_Empty(stack_ptr s) { return s->top_of_value == EMPTY; } int Is_Full(stack_ptr s) { return s->capacity-1 == s->top_of_value; } void Push(stack_ptr s, int value) { if (!Is_Full(s) ) { s->stack[++s->top_of_value] = value; } } int Top(stack_ptr s) { if (!Is_Empty(s) ) { return s->stack[s->top_of_value--]; } return 0; } int Top_Of_Value(stack_ptr s) { return s->stack[s->top_of_value]; } int Priority_Test(int value) { switch (value) { case '*': return 100; break; case '/': return 100; break; case '+': return 1; break; case '-': return 1; break; } return 0; } int Math_Priority(int value, int _tmp, int _tmp2) { switch (value) { case 0x2A: return _tmp * _tmp2; break; case 0x2F: return _tmp / _tmp2; break; case 0x2B: return _tmp + _tmp2; break; case 0x2D: return _tmp - _tmp2; break; } return 0; }

满意请采纳

解析看不懂?求助智能家教解答查看解答

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值