问题及代码:
测试函数:main.cpp,完成相关的测试工作;
/*
*Copyright(c)2015,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:test.cpp
*作者:颜肖璇
*完成日期:2015年10月9日
*版本号:v1.0
/*
*问题描述:利用sqstack.h中栈的基本运算,实现将一个中缀表达式转换为对应的后缀表达式的算法。例如,输入(56-20)/(4+2),输出后缀表达式::56#20#-4#2#+/要求在数字后加#。
*输入描述:
*程序输出:
*/
#include <stdio.h>
#include <stdlib.h>
#include "sqstack.h"
#define MaxOp 7
struct //设定运算符优先级
{
char ch; //运算符
int pri; //优先级
}
lpri[]= {
{'=',0},{'(',1},{'*',5},{'/',5},{'+',3},{'-',3},{')',6}},
rpri[]= {
{'=',0},{'(',6},{'*',4},{'/',4},{'+',2},{'-',2},{')',1}};
int leftpri(char op) //求左运算符op的优先级
{
int i;