实验进制转换.doc

实验进制转换.doc

ID:52718051

大小:86.50 KB

页数:10页

时间:2020-03-29

实验进制转换.doc_第1页
实验进制转换.doc_第2页
实验进制转换.doc_第3页
实验进制转换.doc_第4页
实验进制转换.doc_第5页
资源描述:

《实验进制转换.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、青岛理工大学课程实验报告课程名称数据结构班级软件112实验日期2018年4月15号姓名何金荣学号201807225实验成绩实验名称栈的应用------进制转换实验目的及要求(1)通过进制转换的表示和计算,熟练掌握栈的基本操作,以及用顺序栈表示栈的存储结构操作的实现。(2)使学生掌握栈的最基本和最主要的操作:插入和删除,出栈和进栈等操作。(3)熟悉C++的基本编程方法,掌握集成编译环境的调试方法。(4)学习各个进制数之间的转换,掌握其方法。(5)学习使用栈来解决实际问题的能力。实验环境硬件平台:普通个人PC机软件平台:Windows732位操作系统编程环境:VisualC++6.0编

2、程软件实验内容利用栈来实现任意输入一个十进制数,将其转换成十六进制,八进制数,二进制数,或转换成相应的N进制数。实现进制转换的内容如下:(1>建立一个栈的结构体,实现栈的出栈,入栈等九个基本操作。(2>通过conversion(>函数,任意输入一个十进制数,将其转换成十六进制数。(3>通过conversion1(>函数,任意输入一个十进制数,将其转换成八进制数。(4>通过conversion2(>函数,任意输入一个十进制数,将其转换成二进制数。(5>通过conversion3(>函数,任意输入要转换的进制数N,将任意数转换成相应的进制数。(6>通过output(>函数打印输出相应的

3、结果。10/10算法描述及实验步骤测试主函数流程:开始任意输入一个十进制数m(m>=0>通过conversion(>函数将其转换成十六进制数通过conversion1(>函数将其转换成八进制数通过conversion2(>函数将其转换成二进制数输入相应的进制数N,由conversion3(>函数。打印输出相应的进制数算法描述:/************************************************************//*定义数据结构*//*********************************************************

4、***/typedefstructSqStack{SElemType*base。/*在栈构造之前和销毁之后,base的值为NULL*/SElemType*top。/*栈顶指针*/intstacksize。/*当前已分配的存储空间,以元素为单位*/}SqStack。/*顺序栈*//************************************************************//*十进制转换十六进制*//************************************************************/voidconversion(>{/

5、*对于输入的任意一个非负10进制整数,打印输出与其等值的16进制数*/SqStacks。unsignedn。/*非负整数*/SElemTypee。InitStack(&s>。/*初始化栈*/printf("将10进制整数n转换为16进制数,请输入:n(>=0>=">。scanf("%u",&n>。/*输入非负十进制整数n*/while(n>/*当n不等于0*/{Push(&s,n%16>。/*入栈n除以16的余数(16进制的低位>*/n=n/16。}while(!StackEmpty(s>>/*当栈不空*/{Pop(&s,&e>。/*弹出栈顶元素且赋值给e*/if(e<=9>pri

6、ntf("%d",e>。elseprintf("%c",e+55>。/*大于9的余数,输出相应的字符*/}printf("">。}/************************************************************//*十进制转换八进制*//************************************************************/voidconversion1(>{10/10SqStacks。unsignedn。SElemTypee。InitStack(&s>。printf("将10进制整数n转换为8进制数,

7、请输入:n(>=0>=">。scanf("%u",&n>。/*输入非负十进制整数n*/while(n>/*当n不等于0*/{Push(&s,n%8>。/*入栈n除以8的余数(8进制的低位>*/n=n/8。}while(!StackEmpty(s>>/*当栈不空*/{Pop(&s,&e>。/*弹出栈顶元素且赋值给e*/if(e<=9>printf("%d",e>。elseprintf("%c",e+55>。/*大于9的余数,输出相应的字符*/}printf("">。

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

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

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