欢迎来到天天文库
浏览记录
ID:35987149
大小:28.00 KB
页数:3页
时间:2019-04-29
《数据结构-十进制转换为十六进制C语言版.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、#include#include#include#defineOK1#defineERROR0#defineOVERFLOW-2#defineSTACK_INIT_SIZE100#defineSTACKINCREMENT10typedefintStatus;typedefintSElemType;typedefstruct{SElemType*base;SElemType*top;intstacksize;}SqStack;SqStackS;//栈的初始化StatusInitStack(SqStack&S){S.b
2、ase=(SElemType*)malloc(STACK_INIT_SIZE*sizeof(SElemType));if(!S.base)exit(OVERFLOW);S.top=S.base;returnOK;}//入栈StatusPush(SqStack&S,SElemTypee){if(S.top-S.base>=S.stacksize){S.base=(SElemType*)realloc(S.base,(S.stacksize+STACKINCREMENT)*sizeof(SElemType));if(!S.base)exit(OVERFLOW);S.top=S
3、.base+S.stacksize;S.stacksize+=STACKINCREMENT;}*S.top++=e;returnOK;}//出栈StatusPop(SqStack&S,SElemType&e){if(S.top==S.base)returnERROR;e=*--S.top;returnOK;}intmain(){intnum,e;inti=0;//计数InitStack(S);printf("请输入一个十进制数字:");scanf("%d",&num);while(num){Push(S,num%16);num/=16;i++;}printf("将数字转换
4、为十六进制:");while(i){Pop(S,e);/*switch(e){case1:printf("%d",e);break;case2:printf("%d",e);break;case3:printf("%d",e);break;case4:printf("%d",e);break;case5:printf("%d",e);break;case6:printf("%d",e);break;case7:printf("%d",e);break;case8:printf("%d",e);break;case9:printf("%d",e);break;case10:
5、printf("%c",'A');break;case11:printf("%c",'B');break;case12:printf("%c",'C');break;case13:printf("%c",'D');break;case14:printf("%c",'E');break;case15:printf("%c",'F');break;}*/printf("%X",e);i--;}return0;}
此文档下载收益归作者所有