本文章只为学习栈和队列。请勿用于其他用途。
一、 实验环境
VC6.0
二、 实验目的
设计实现十进制数与二进制数的数制转换程序,要求进行某种数制转换后,输入相应的格式的数值(可以是混合小数的形式),给出相应进制的数值。熟练掌握队列相关操作、
三、 实验内容
1. 用C语言实现队列的存储结构(循环队列或链队列);
2.实现队列的基本操作的有关算法;(建空队、进队、出队、判队空等);
3.利用队列(有必要时结合栈)解决二进制数与十进制数之间的相互转换)。
四、 数据结构与算法思想描述
(1) 将用户输入的数用split()这个函数按整数部分,小数部分分别用放在,s1,s2,(十化二)s3,s4(二化十)
(2)二进制转换为十进制数:根据有理式的按权展开式,把二进制的权(2的多少次幂)与数位值(0,1)相乘后再相加。函数操作为change3(),change4()在使用相应的栈和队列进行操作。
(3)十进制数化二进制数:整数部分用“除二取余“法,将数除以2,将余数放入栈,商再除以2,重复。。直至商为0。小数部分用“乘二取整”法,数乘2,然后取整、放入队列里,小数部分继续,本函数6次结束。函数体现change1()