《数据结构》课 程 设 计 报 告 书题 目:数制转换系 别:计算机科学与应用系 学 号: 学生姓名: 指导老师: 完成日期:2025 — 6 — 1 数制转换1
需求分析 任意给定一个M进制得数 x ,实现如下要求1)求出此数 x 得 10 进制值(用 MD 表示)2)实现对x向任意得一个非 M 进制得数得转换
3)至少用两种或两种以上得方法实现上述要求(用栈解决,用数组解决,其它方法解决)
概要设计程序流程可以用以下流程图来刻画:A 用数组实现 B 用栈实现ﻩ3
用数组实现该问题开始构造数组数制转换函数输出结果开始创建栈数制转换函数输出结果D2M()函数与 M2D()函数就是实现该问题得主要函数
D 2 M()函数就是实现十进制转换为其她进制得函数,它就是将输入得十进制数 x 首先对需要转换得进制 M 取余,然后在对其取整,接着通过递归调用 D2M()函数一次将得到得整数部分一次先取余后取整,并将所得得余数依次存入下一数组,然后逆向去除数组中得元素,即得到转换后得结果
而 M 2 D()函数就是实现其她进制 M 转换为十进制,并将其转换为非 M 进制
M 进制转十进制则就是从该 M 进制数得最后一位开始运算,依次列为第 0、1、2、……、、N位并分别乘以 M 得0、1、2、…、、N 次方,将得到得次方相加便得到对应得十进制数,再调用 D2M()函数将其转换为非M进制得数
B、用栈实现 栈具有后进先出得性质,具体实现方法与数组得方法有很大联系,不再过多解释
调试分析(1)构造栈得方法通过查阅书籍知道了
(2)数组得递归调用查阅相关书籍了解了
(3)为了让界面表达更清楚,多次调试完善了界面
测试结果下面就是我得测试函数及运行结果:A
数组测试结果B 栈实现测试结果6
总结通过《数据结构》课程设计,我了解到数据结构就是计算机科学中一门综合性得专业基