代码如下:
#include<stdio.h>
#include<stdbool.h>
#include<stdlib.h>
#include<math.h>
#include<Windows.h>
typedef struct StackNode1
{
char character;
struct StackNode1 *next;
}LinkStack1;
typedef struct StackNode2
{
double data;
struct StackNode2 *next;
}LinkStack2;
void InitStack1(LinkStack1 **Operator);
void InitStack2(LinkStack2 **Operand);
void Push1(char ch, LinkStack1 **Operator);
void Push2(double ch, LinkStack2 **Operand);
char Pop1(LinkStack1 **Operator);
double Pop2(LinkStack2 **Operand);
bool isEmpty(LinkStack1 *Operator);
char getTop(LinkStack1 *Operator);
char Priority(char ch, char ch2);
double Generate(double a, char ch, double b);
int main()
{
LinkStack1 *Operator;
LinkStack2 *Operand;
char ch2, judge, c;
char sentence[1000];
double sum, sum1, sum2, a, b, result;
int k, count = 0;
InitStack1(&Operator);
InitStack2(&Operand);
Push1('=', &Operat