数据结构C语言版进制转换
2015-12-24 12:21
351 查看
//进制转换: #include<stdio.h> #include<stdlib.h> #define Stack_size 100 #define Stackincreament 10 typedef struct{ int *base; int top; int stacksize; }sqstack; void initstack(sqstack &la) { la.base=(int*)malloc(Stack_size*sizeof(int)); la.stacksize=Stack_size; if(!la.base) exit(0); la.top=0; } void push(sqstack &L,int e) { if(L.top>=L.stacksize) { L.base=(int*)realloc(L.base,(Stack_size+Stackincreament)*sizeof(int)); if(!L.base) exit(0); L.stacksize+=Stackincreament; } L.base[L.top++]=e; } void pop(sqstack &l,int &e) { if(l.top==0) return ; e=l.base[--l.top]; } void trans(int x,int n,sqstack &s) { int e; while(x!=0) { e=x%n; x/=n; push(s,e); } while(s.top!=0) { pop(s,e); printf("%5d",e); } printf("\n"); } int main() { sqstack m; int x,n; printf("请输入需转换的十进制数及转换后的进制数:\n"); scanf("%d",&x); scanf("%d",&n); initstack(m); trans(x,n,m); return 0; }
相关文章推荐
- 如何组织构建多文件 C 语言程序(二)
- 如何写好 C main 函数
- C#数据结构之顺序表(SeqList)实例详解
- Lua和C语言的交互详解
- Lua教程(七):数据结构详解
- 解析从源码分析常见的基于Array的数据结构动态扩容机制的详解
- C#数据结构之队列(Quene)实例详解
- C#数据结构揭秘一
- C#数据结构之单链表(LinkList)实例详解
- 关于C语言中参数的传值问题
- 简要对比C语言中三个用于退出进程的函数
- 深入C++中API的问题详解
- 基于C语言string函数的详解
- C语言中fchdir()函数和rewinddir()函数的使用详解
- C语言内存对齐实例详解
- C语言编程中统计输入的行数以及单词个数的方法
- C语言自动生成enum值和名字映射代码
- 使用C语言判断英文字符大小写的方法
- c语言实现的带通配符匹配算法
- C语言实现顺序表基本操作汇总