数据结构进制转换源代码
来源:互联网 发布:新顶级域名不备案吗 编辑:程序博客网 时间:2024/05/22 18:45
#include<stdio.h>
#include<stdlib.h>
#define SIZE 100
#define ADDSIZE 10
#define ERROR 0
#define OK 1
typedef struct{
int *base;
int *top;
int stacksize;
}sqstack;
int Initstack(sqstack &s);
int push(sqstack &s, int e);
int pop(sqstack &s,int &e);
int stackempty(sqstack &s);
void conversion(int n,int m);
int main()
{
sqstack s;
Initstack(s);
int N;
printf("......进制转换......\n\n");
while(scanf("%d",&N)!=0)
{printf("以下为转化结果:\n\n");
if(N==0)
return ERROR;
else
{
printf("您转化的二进制是:");
conversion(N,2);
printf("您转化的八进制是:");
conversion(N,8);
printf("您转化的十六进制是:");
conversion(N,16);
}
}
return OK;
}
int Initstack(sqstack &s)
{
s.base = (int *)malloc(SIZE * sizeof(int));
if(!s.base) return ERROR;
s.top = s.base;
s.stacksize = SIZE;
return OK;
}
int push(sqstack &s, int e)
{
if(s.top - s.base >= s.stacksize)
{
s.base = (int *) realloc(s.base, (s.stacksize + ADDSIZE) * sizeof(int));
if(!s.base)
return ERROR;
s.top = s.base + s.stacksize;
s.stacksize += ADDSIZE;
}
*s.top++ = e;
return OK;
}
int pop(sqstack &s,int &e)
{
if(s.top == s.base)
return ERROR;
e = * --s.top;
return OK;
}
int stackempty(sqstack &s)
{
if(s.base == s.top)
return OK;
else
return ERROR;
}
void conversion(int n,int m)
{
int e;
sqstack s;
Initstack(s);
while(n)
{
push(s,n%m);
n=n/m;
}
while(!stackempty(s))
{
pop(s,e);
if(e>9)
printf("%c",'A' + e - 10);
else
printf("%d",e);
}
printf("\n");
}
#include<stdlib.h>
#define SIZE 100
#define ADDSIZE 10
#define ERROR 0
#define OK 1
typedef struct{
int *base;
int *top;
int stacksize;
}sqstack;
int Initstack(sqstack &s);
int push(sqstack &s, int e);
int pop(sqstack &s,int &e);
int stackempty(sqstack &s);
void conversion(int n,int m);
int main()
{
sqstack s;
Initstack(s);
int N;
printf("......进制转换......\n\n");
while(scanf("%d",&N)!=0)
{printf("以下为转化结果:\n\n");
if(N==0)
return ERROR;
else
{
printf("您转化的二进制是:");
conversion(N,2);
printf("您转化的八进制是:");
conversion(N,8);
printf("您转化的十六进制是:");
conversion(N,16);
}
}
return OK;
}
int Initstack(sqstack &s)
{
s.base = (int *)malloc(SIZE * sizeof(int));
if(!s.base) return ERROR;
s.top = s.base;
s.stacksize = SIZE;
return OK;
}
int push(sqstack &s, int e)
{
if(s.top - s.base >= s.stacksize)
{
s.base = (int *) realloc(s.base, (s.stacksize + ADDSIZE) * sizeof(int));
if(!s.base)
return ERROR;
s.top = s.base + s.stacksize;
s.stacksize += ADDSIZE;
}
*s.top++ = e;
return OK;
}
int pop(sqstack &s,int &e)
{
if(s.top == s.base)
return ERROR;
e = * --s.top;
return OK;
}
int stackempty(sqstack &s)
{
if(s.base == s.top)
return OK;
else
return ERROR;
}
void conversion(int n,int m)
{
int e;
sqstack s;
Initstack(s);
while(n)
{
push(s,n%m);
n=n/m;
}
while(!stackempty(s))
{
pop(s,e);
if(e>9)
printf("%c",'A' + e - 10);
else
printf("%d",e);
}
printf("\n");
}
0 0
- 数据结构进制转换源代码
- 数据结构之进制转换
- 1474 数据结构:进制转换
- 数据结构-栈--进制转换
- 数据结构 栈的应用 进制转换
- 【数据结构】 利用栈实现进制转换
- 【数据结构】栈应用之进制转换
- 数据结构栈应用之进制转换
- 数据结构C语言版进制转换
- 进制转换 (数据结构 + 栈)
- 数据结构之 栈 实现进制转换
- 数据结构之栈一:进制转换
- 【数据结构_链表_List_0961】进制转换
- 数据结构之R进制转换
- 数据结构栈之进制转换
- 数据结构——进制转换
- 数据结构 顺序栈进行进制转换
- 企业常见笔试题目---数据结构栈与进制转换
- 使用qmeu-img创建虚拟机(创建虚拟机,虚拟机快照)
- Dalvik 虚拟机指令
- ofstream打开中文路径失败解决方法
- J2EE--运用JODConverter进行doc、ppt到pdf的转换
- I/O流
- 数据结构进制转换源代码
- json 数据类型
- Android studio 自动排版
- css基础学习之--媒体查询
- phpstorm下配置Xdebug
- 使用 jsoup 对 HTML 文档进行解析和操作
- 解决农产品滞销难题,农村淘宝有何绝招?
- STL算法之accumulate函数学习
- window.event.returnvalue=false;不起作用