资源预览内容
第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
亲,该文档总共4页全部预览完了,如果喜欢就下载吧!
资源描述
进制转换日志一、链表结构思路:对于栈的应用的进制转换首先要建立一个链表,要把输入的数进行一系列的求余与求商,要使用循环结构来把每次的商再次求余知道商为零为止,并且每次的余数要开辟新的空间来存储。这样循环下去就把所得的所有余数存入建立的链表栈里了,然后函数返回尾指针。同样要建立一个输出函数形参接受的值是建立栈函数返回的尾指针,然后进行循环输出,这里的链表得建立双向链表,输出的时候从栈顶开始输出。这样输入的一个数就被转化为八进制;具体步骤:先建立一个结构体变量,里面的定义两个指针域一个是next另一个是prior,这样开始编辑第一个函数,此函数是带有参数的函数既是要转换的进制的数。在函数里定义两个指向结构体的指针p1、p2,那么p1去开辟空间并且进行求余求商把余数放入p1开辟的空间里,然后p2指向新地址,利用p1比p2移动速度快一个单位来把所有的数放入栈中,最后函数返回尾指针。这样建立一个栈的函数就完成了。代码如图所示:接下来编辑输出函数对于建立栈的函数返回的尾指针用一个循环语句来实现全部的输出,要用到每个结构体的前驱指针域,这样就可以全部输出了。代码如图所示这样就编辑好了 接下来就要编辑主函数来输入数值进行转换。下面就来执行下 输入1348结果如图所示这样就完成了。二、用顺势结构来完成考虑先用一组一维数组来存储数值,同样的办法用一个循环来把输入的一个数转换成相应的进制,然后定义一个全局变量来记录转换后的个数,然后建立一个建立栈的函数此函数带有也行参既是数组的首地址,用一个循环来把数组中的数值赋给定义的结构体。这些结构体是相邻地址连续的。这样函数返回末地址,到了主函数把值给输出函数,这样就把转换的进制输出。代码如图所示运行结果同链式一样;这样两种结构就完成了。心得与体会:通过这个题目我复习了上学习学的c语言并进一步强化了c语言的学习,懂得了两种结构的优缺点,链式结构运用起来比较灵活,对数据的插入更方便,而顺势结构插入比较麻烦,要对输入的结果有个大致的估计这样就比较麻烦,但是顺势结构输出的时候则比较放变。同过这次试验让我感受到了c语言的魅力,我们不应该仅仅满足书上的那点知识应该进一步的学习更多的有关知识这样才能上一个台阶,提高编程能力。
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号