#include <stdio.h>
#define STACKSIZE 110
#define OK 1
#define TRUE 1
#define FALSE 0
int flag;
typedef int ElemType;
typedef int Status;
typedef struct
{
ElemType data[STACKSIZE];
int top;
}SeqStack;
void InitStack(SeqStack *s)
{
(*s).top = 0;
}
Status StackFull(SeqStack s)
{
if(s.top==STACKSIZE-1) return FALSE;
return TRUE;
}
void Push(SeqStack *s, ElemType p)
{
if(!StackFull(*s))
{
printf("OverFlow\n");
flag=1;
}
(*s).data[(*s).top]=p;
(*s).top++;
}
Status StackEmpty(SeqStack s)
{
if(s.top==0) return FALSE;
return TRUE;
}
Status Pop(SeqStack *s,ElemType *p)
{
if(!StackEmpty(*s)) return FALSE;
(*s).top--;
*p=(*s).data[(*s).top];
return TRUE;
}
void conversion()
{
ElemType n, m;
int p;
SeqStack s;
flag = 0;
printf("请输入一个数字:\n");
scanf("%d", &n);
printf("请输入需要转换的数制:\n");
sc
栈的应用——数制转换
最新推荐文章于 2022-04-07 22:59:14 发布
本文探讨了栈数据结构在进行数值转换过程中的重要作用,详细解析了如何使用C语言实现不同数制间的转换,包括二进制、八进制、十进制和十六进制。通过实例代码阐述了栈在存储和处理数字位上的优势,为理解栈的应用提供了清晰的思路。
摘要由CSDN通过智能技术生成