在这里插入代码片
```#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define Elemtype char
#define Elemtype1 double
typedef struct Node {
Elemtype data;
struct Node* pNext;
}Node,*pNode;
typedef struct Stack {
pNode Base;
pNode top;
int num;
}Stack;
typedef struct Node1 {
Elemtype1 data;
struct Node1* pNext;
}Node1, * pNode1;
typedef struct Stack1 {
pNode1 Base;
pNode1 top;
int num;
}Stack1;
void Init(Stack* s);
bool Empty_stack(Stack* s);
pNode Buy_node(Stack* s, Elemtype x);
void push_stack(Stack* s,Elemtype x);
void show_stack(Stack* s);
void Get_top(Stack* s, Elemtype* v);
void pop_stack(Stack* s);
void Init1(Stack1* s);
bool Empty_stack1(Stack1* s);
pNode1 Buy_node1(Stack1* s, Elemtype1 x);
void push_stack1(Stack1* s, Elemtype1 x);
void show_stack1(Stack1* s);
void Get_top1(Stack1* s, Elemtype1* v);
void pop_stack1(Stack1* s);
char Lz(char st, char sr1);
char Bat(char a, char bat, char b);
double Bat1(double a, double bat1, double b);
double Numzhuan(char* st1);
double zhuan10(int n);
void Outg(char* str, char* str1);
//
#include"Stackyy.h"
void Init(Stack* s)
{
s->Base = s->top = (pNode)malloc(sizeof(Node));
if (s->Base == NULL)
exit(-1);
s->Base->pNext = NULL;
s->num = 0;
}
bool Empty_stack(Stack* s)
{
if (s->Base = s->top)
return true;
else
return false;
}
void pop_stack(Stack* s)
{
pNode p = s->top;
s->top = p->pNext;
free(p);
s->num--;
}
pNode Buy_node(Stack* s, Elemtype x)
{
pNode p = (pNode)malloc(sizeof(Node));
if (p == NULL)
exit(-1);
p->data = x;
p->pNext = NULL;
return p;
}
void push_stack(Stack* s,Elemtype x)
{
pNode p = Buy_node(s, x);
p->pNext = s->top;
s->top = p;
s->num++;
}
void show_stack(Stack* s)
{
if (s->top == s->Base)
{
puts("空栈,不能遍历");
return;
}
pNode p = s->top;
while (p != s->Base)
{
printf("%c", p->data);
p = p->pNext;
}
puts("");
}
void Get_top(Stack* s, Elemtype *v)
{
if (s->top != s
分享 C语言--四则混合运算(栈应用)(正负数,小数,括号和+-*/的优先级) 请在VS2019运行
最新推荐文章于 2021-05-21 17:35:27 发布