C语言 顺序栈实现十进制转换为二进制,八进制,十六进制.doc

C语言 顺序栈实现十进制转换为二进制,八进制,十六进制.doc

ID:55666373

大小:29.50 KB

页数:3页

时间:2020-05-23

C语言 顺序栈实现十进制转换为二进制,八进制,十六进制.doc_第1页
C语言 顺序栈实现十进制转换为二进制,八进制,十六进制.doc_第2页
C语言 顺序栈实现十进制转换为二进制,八进制,十六进制.doc_第3页
资源描述:

《C语言 顺序栈实现十进制转换为二进制,八进制,十六进制.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、运行结果:代码:#include#include#defineMAX20typedefstruct{intdata[MAX];inttop;}SeqStack;SeqStack*Init(){SeqStack*s;s=(SeqStack*)malloc(sizeof(SeqStack));s->top=-1;returns;}voidDestroy(SeqStack*s){free(s);}boolIsFull(SeqStack*s){return(s->top==MAX-1)?t

2、rue:false;}boolIsEmpty(SeqStack*s){return(s->top==-1)?true:false;}voidPush(SeqStack*s,inta){if(IsFull(s)){printf("Thestackisfull,failedtopush!");return;}s->top++;s->data[s->top]=a;}intPop(SeqStack*s){inte;if(IsEmpty(s)){printf("Thestackisempty,failedtopop!")

3、;returnNULL;}e=s->data[s->top];s->top--;returne;}intReadTop(SeqStack*s){returns->data[s->top];}voidPrint(SeqStack*s){inttemp=s->top;if(IsEmpty(s)){printf("Thestackisempty!");return;}printf("转换后的结果:");while(temp>=0){if(s->data[temp]<10)printf("%d",s->data[tem

4、p]);else{if(s->data[temp]=10)printf("a");elseif(s->data[temp]=11)printf("b");elseif(s->data[temp]=12)printf("c");elseif(s->data[temp]=13)printf("d");elseif(s->data[temp]=14)printf("e");elseprintf("f");}temp--;}printf("");}intmain(){intm,c,d,n;SeqStack*s;s=Init

5、();printf("请输入要转换的十进制数:");scanf("%d",&m);printf("");printf("请输入转换进制:");printf("******************************");printf("*请选择一个你要转换的进制*");printf("*1.二进制*");printf("*2.八进制*");printf("*3.十六进制*");printf("******************************");scanf("%d",&d

6、);printf("");if(d==1)n=2;elseif(d==2)n=8;elseif(d==3)n=16;elseprintf("输入有误!");while(m){c=m%n;m=m/n;Push(s,c);}Print(s);Destroy(s);}

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。