数据结构实验之栈三:后缀式求值
Description
对于一个基于二元运算符的后缀表示式(基本操作数都是一位正整数),求其代表的算术表达式的值。
Input
输入一个算术表达式的后缀式字符串,以‘#’作为结束标志。
Output
求该后缀式所对应的算术表达式的值,并输出之。
#include<stdio.h> int main(){ int shi[1000]; char str; int front=0; while(scanf("%c", &str), str != '#') { if('0'<=str && str<='9') shi[++front] = str-48; else { switch(str){ case '+': shi[front-1] = shi[front-1] + shi[front]; break; case '-': shi[front-1] = shi[front-1] - shi[front]; break; case '*': shi[front-1] = shi[front-1] * shi[front]; break; case '/': shi[front-1] = shi[front-1] / shi[front]; break; } front--; } } printf("%d\n", shi[front]); return 0; }