



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
使用堆栈实现二进制转换大学,专业:应用数学大学10新界2班名称:林贵信学习编号:3110008332目标:使用堆栈将十进制数分别转换为二进制、八进制和十六进制数。问题:1:用于二进制转换的数学原理;2:如何为用户使用界面;解决问题: 1:选择时应用份额去除方法;2:将十进制数转换为二进制、八进制和十六进制三个函数,然后从基本函数应用switch函数并选择此函数,可以将输入的十进制数转换为二进制、八进制或十六进制数。故障排除流程:1:堆栈的顺序存储表示法:StructsqstackSElemType * base/堆栈底部的指针,空堆栈的值为NULLSElemType * top/堆栈顶部指针Int stacksize/当前分配的存储空间2:输入程序应为连续堆栈调用的默认操作。Status InitStack(SqStack S) s . base=(s elem type *)malloc(stack _ init _ size * size of(s elem type);If(!s . base)exit(OVERFLOW);s . top=s . base;S.stacksize=STACK _ INIT _ SIZEReturn OK状态推送(SqStack S,SElemType e)If (S.top-S.base=S.stacksize)S.base=(SElemType *)realloc(s.base,(s . stack size stack increment)* size of(s elemtype);If(!s . base)exit(OVERFLOW);s . top=s . base s . stacksize;s . stack size=stack increment;* s . top=e;Return OKStatus gettop (sqstacks,s elemtype e)If (S.top=S.base)exit(ERROR);else=*(s . top-1);Return OKStatus StackEmpty(SqStack S)if(s . top=s . base)return TRUE;Else return FALSE状态点(SqStack S,SElemType e)If (S.top=S.base)exit(ERROR);else=*(-s . top);Return OK状态DestroyStack(SqStack s) free(s . base);S.base=NULLS.top=NULLs . stacksize=0;Return OKStatus ClearStack(SqStack S) s . top=s . base;Return OKInt stackLength(SqStack S)return s . top-s . base;status stack traverse(sq stack,status (* visit) (s elemtype)While(S.topS.base)visit(* s . base);printf(“ n”);Return OK3:构造三个函数,每个函数将十进制数转换为二进制、八进制和十六进制数。Void Decimal_Binary2()int N;sq stack S;/堆叠结构定义sinit stack(S);/初始化堆栈scanf(“% d”,N);/输入十进制正整数While (N)Push(S,N % 2);/堆叠剩馀n/=2;/被除数data除以2以获得新被除数While(!StackEmpty(S)/从堆栈中依次弹出其馀每个元素并输出Pop(S,N);printf(“% d”,N);Void Decimal_Binary8()int N;sq stack S;/堆叠结构定义sinit stack(S);/初始化堆栈scanf(“% d”,N);/输入十进制正整数While (N)Push(S,N % 8);/堆叠剩馀n/=8;/被除数data除以2以获得新被除数While(!StackEmpty(S)/从堆栈中依次弹出其馀每个元素并输出Pop(S,N);printf(“% d”,N);Void Decimal_Binary16()int N;sq stack S;/堆叠结构定义sinit stack(S);/初始化堆栈scanf(“% d”,N);/输入十进制正整数While (N)Push(S,N);/堆叠剩馀n/=16;/被除数data除以2以获得新被除数While(!StackEmpty(S)/从堆栈中依次弹出其馀每个元素并输出Pop(S,N);printf(“% d”,N);4:在默认函数中,应用switch函数以选择行为:Void main() int commandPrintf(选择1作为二进制转换。将2转换为八进制数将3转换为十六进制数n选择此选项,然后输入要转换的数字);Cincommand交换机(命令)case 13360 decimal _ binary 2();Breakcase 23360 decimal _ binary 8 8();Breakcase : decimal _ binary 16();BreakDefault:cout“不要乱动”;程序测试结果:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新员工入职培训教程及注意事项
- 公务员会计岗位考试题及答案
- 运政从业考试题库及答案
- 公路施工人员应急预案范本
- 工程质量管理设计过程
- 《论语》十二章专项强化训练题集
- 八年级道德与法治上册 第四单元 维护国家利益 第八课 国家利益至上 第2框《坚持国家利益至上》说课稿 新人教版
- 葡萄酒品鉴流程与术语讲解
- 施工现场机械设备安全检查表
- 咨询师推广方案
- 教育与科技的融合儿童财商启蒙计划的实践与思考
- 2025-2030年中国童书行业市场现状供需分析及投资评估规划分析研究报告
- 电梯公司维保人员日常管理制度
- 舒曼教学课件
- 山东省烟台市芝罘区(五四制)2023-2024学年八年级下学期语文期末试卷(含答案)
- 检验检测薪酬管理制度
- 商业综合体运营项目可行性分析报告
- 《无人机概论》高职无人机应用技术专业全套教学课件
- 和父母断绝协议书
- 2025年北京市水务局所属事业单位招聘工作人员(179人)笔试备考试题及一套参考答案详解
- 保姆受伤赔偿协议书
评论
0/150
提交评论