(visual studio 2019可运行)
输入及输出要求见《数据结构C语言(第二版)》严蔚敏版
【本文仅用于啥都看不懂还想交作业选手】
#include <iostream>
#include <stdlib.h>
#include <cstring>
#include<iomanip>//该头文件为了后面的输出保留两位小数
#define MAXSIZE 100//初始分配的存储空间
#define OK 1
#define OVERFLOW -2
#define ERROR -1
using namespace std;
//定义字符栈
typedef struct {
char* base;
char* top;
int stackSize;
} SqStackOPTR;
//定义数字栈
typedef struct {
double* base;
double* top;
int stackSize;
} SqStackOPND;
//字符栈的初始化
int InitStack(SqStackOPTR& S) {
S.base = new char[MAXSIZE];
if (!S.base)
exit(OVERFLOW);
S.top = S.base;
S.stackSize = MAXSIZE;
return OK;
}
//数字栈的初始化
int InitStack(SqStackOPND& S) {
S.base = new double[MAXSIZE];
if (!S.base)
exit(OVERFLOW);
S.top = S.base;
S.stackSize = MAXSIZE;
return OK;
}
//字符栈入栈操作
int Push(SqStackOPTR& S, char e) {
if (S