#define _CRT_SECURE_NO_WARNINGS 1
#include"stdio.h"
#include"stdlib.h"
#include"string.h"
#define maxsize 1024
typedef struct
{
float data[maxsize];
int top;
}Stack1;
void Initstack1(Stack1 *S)
{
S = (Stack1*)malloc(sizeof(Stack1));
S->top = -1;
}
int Push1(Stack1 *S, float ch)
{
if (S->top == maxsize - 1)
return 0;
else
{
S->top++;
S->data[S->top] = ch;
return 1;
}
}//入栈Push
int Pop1(Stack1 *S, float ch)
{
if (S->top == -1)
printf("栈上溢出!\n");
else
ch = S->data[S->top];
S->top--;
return 1;
}//出栈
typedef struct
{
char data[maxsize];
int top;
}Stack2;
void Initstack2(Stack2 *S)
{
S = (Stack2*)malloc(sizeof(Stack2));
S->top = -1;
}
int Push2(Stack2 *S, char ch)
{
if (S->top == maxsize - 1)
return 0;
else
{
S->top++;
S->data[S->top] = ch;
return 1;
}
}//入栈Push
int Pop2(Stack2 *S, char ch)
{
if (S->top == -1)
printf("栈上溢出!\n");
else
ch = S->data[S->top];
S->top--;
return 1;
}//出栈
int Comop(char ch) //判断是否是运算符
{
switch (ch)
{
case'+':
case'-':
case'*':
case'/':
case'(':
case')':
case