数据结构进制装换课程设计 课程:数据结构 院系:计算机信息管理 班级: 学号: 姓名: 指导老师: 日期:2025.1.3 数制转换1.需求分析 任意给定一个 M 进制的数 x ,实现如下要求1)求出此数 x 的 10 进制值(用 MD 表示)2)实现对 x 向任意的一个非 M 进制的数的转换。3)至少用两种或两种以上的方法实现上述要求(用栈解决,用数组解决,其它方法解决)。2.概要设计程序流程可以用以下流程图来刻画:A 用数组实现 B 用栈实现3.详细设计A.用数组实现该问题D2M()函数和 M2D()函数是实现该问题的主要函数。D2M()函数是实现十进制转换为其他进制的函数,它是将输入的十进制数 x 首先对需要转换的进制 M 取余,然后在对其取整,接着通过递归调用 D2M()函数一次将得到的整数部分一次先取余后取整,并将所得的余数依次存入下一数组,然后逆向去除数组中的元素,即得到转换后的结果。而 M2D()函数是实现其他进制 M 转换为十进制,并将其转换为非 M 进制。M 进制转十进制则是从该M 进制数的最后一位开始运算,依次列为第 0、1、2、……..N 位并分别乘以 M 的0、1、2、…..N 次方,将得到的次方相加便得到对应的十进制数,再调用 D2M()函数将其转换为非 M 进制的数。B.用栈实现 栈具有后进先出的性质,具体实现方法和数组的方法有很大联系,不再过多解释。开始构造数组数制转换函数输出结果开始创建栈数制转换函数输出结果4.调试分析(1)构造栈的方法通过查阅书籍知道了。(2)数组的递归调用查阅相关书籍了解了。(3)为了让界面表达更清楚,多次调试完善了界面。5. 测试结果下面是我的测试函数及运行结果:A.数组测试结果 B 栈实现测试结果6. 总结通过《数据结构》课程设计,我了解到数据结构是计算机科学中一门综合性的专业基础课。这次的课程设计使我对数组及栈有了初步的认识,虽然课程设计的不完善,但是在设计过程中我受益匪浅,通过查资料、网上搜索例子,让我学到了很多以前不知道的东西提高我的分析和解决问题的能力,进一部掌握了应用系统设计的方法和不步骤,,也让我意识到自己所掌握的实在是太少了,只靠课本知识是不够的,应该多多上机调试,这样才能提高自己。7. 附源程序A. 数组实现 #include #include #define N 1000 int i,j,y,n,s; int m,r,reminder; int x; //全局变量默认初始化为 0,不必再赋 0 了 D2M(int g,int h) //十进制数转换为...