首页 数据结构—进制转换完整C语言代码[指南]

数据结构—进制转换完整C语言代码[指南]

举报
开通vip

数据结构—进制转换完整C语言代码[指南]数据结构—进制转换完整C语言代码[指南] /*以下为顺序栈实现方式*/ #include "stdio.h" #define STACK_INIT_SIZE 100 #define STACK_INCREMENT 10 #define OVERFLOW -1 #define OK 2 #define YES 1 #define NO 0 #define ERROR -2 typedef int Selemtype; typedef int Status; typedef struct{ Selemtype...

数据结构—进制转换完整C语言代码[指南]
数据结构—进制转换完整C语言代码[指南] /*以下为顺序栈实现方式*/ #include "stdio.h" #define STACK_INIT_SIZE 100 #define STACK_INCREMENT 10 #define OVERFLOW -1 #define OK 2 #define YES 1 #define NO 0 #define ERROR -2 typedef int Selemtype; typedef int Status; typedef struct{ Selemtype *base; Selemtype *top; int stacksize; }Sqstack; Status Initstack(Sqstack *S){ S->base=(Selemtype *)malloc(STACK_INIT_SIZE*sizeof(Selemtype)); if (!S->base) exit (OVERFLOW); S->top=S->base; S->stacksize=STACK_INIT_SIZE; return OK; } Status Emptystack(Sqstack *S){ if(S->base==S->top) return YES; else return NO; } Status Push(Sqstack *S,Selemtype e){ if (S->top-S->base>=S->stacksize) {S->base=(Selemtype *)realloc(S->base,(S->stacksize+STACK_INCREMENT)*sizeof(Selemtype)); if (!S->base) exit (OVERFLOW); S->top=S->base+S->stacksize; S->stacksize+=STACK_INCREMENT;} *S->top++=e; return OK; } Status Pop(Sqstack *S,Selemtype *e){ if(S->top==S->base) return ERROR; *e=*--S->top; return OK; } main() { int *e,m,n; Sqstack *s; Initstack(s); clrscr(); /*清屏函数,不同编译系统函数不同*/ printf("input m,n:\n");/*m是待转换的数,n是要转换的几进制*/ scanf("%d%d",&m,&n); while(m) { Push(s,m%n); m=m/n; } printf("the arranged NO. is:"); while(!Emptystack(s)) { Pop(s,e); if(*e>9) {*e=*e+'A'-10;printf("%c",*e);}/*十进制以上数用字母A、B、C……代替,即10 为A,11为B*/ else printf("%d",*e); } } /*本程序使用栈的顺序 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 示法,本人自己编写并已在turbo c中调试,100%可正确运行,若 移植到VC6.0环境中,只需修改部分即可*/ /*THE END*/ /*以下为链栈实现方式*/ #include #include #define TRUE 1 #define FALSE 0 #define OK 0 #define ERROR -1 typedef struct SNode{ int data; struct SNode *next; }SNode; typedef struct{ int length; SNode *top; }STACK; void InitStack(STACK *S){ S->top=NULL;S->length=0; } int Push(STACK *S,int e){ SNode *p; p=(SNode *)malloc(sizeof(SNode)); if(!p) return ERROR; p->data=e;p->next=S->top; S->top=p;S->length++; return OK; } int Pop(STACK *S,int *e){ SNode *p; if(S->top==NULL) return ERROR; p=S->top;*e=p->data; S->top=p->next;S->length--; return OK; } int Empty(STACK S){ if(S.top==NULL) return TRUE; return FALSE; } int main(){ int m,n,*e; STACK S; printf("input m,n:\n"); scanf("%d%d",&m,&n); InitStack(&S); while(m) { Push(&S,m%n); m=m/n; } printf("the arranged NO. is:"); while(!Empty(S)) { Pop(&S,e); if(*e>9) printf("%c",*e+'A'-10); else printf("%d",*e); } putchar('\n'); } /*本程序采用链栈的表示方法,同学编写,本人已在TURBO C中调试,100%可正确运行, 若转移到其他环境中,只需修改部分即可*/ /*THE END*/
本文档为【数据结构—进制转换完整C语言代码[指南]】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_215732
暂无简介~
格式:doc
大小:18KB
软件:Word
页数:5
分类:初中语文
上传时间:2017-10-16
浏览量:46