文档介绍:东软数据结构实验报告——通过栈和队列来实现进制转换实验报告(一)姓名:11**********学号:XX实验名称栈和队列的操作指导教师xxx实验地点xxx实验日期xxx实验目的理解栈和队列的概念,完成栈和队列的各种基本操作同组成员无实验过程项目简介进制转换通过编写函数实现十进制浮点数到R进制的转换,在十进制浮点数的整数部分利用栈结构实现,小数部分用队列结构实现。项目实施::#include<>#include<>#include<>#definesize10//小数部分大小#definemaxsize20//整数部分大小//*********************************//*********************************//小数部分——队列typedefstruct{ chardata[10];//读取转制后的小数部分 intfront,rear;//队首尾指针}Queue;//循环队列//*********************************//初始化队列voidinit_Queue(Queue*q){ q->front=q->rear=0;}//*********************************//入队intpush_Queue(Queue*q,intx){ if((q->rear+1)%size==q->front)//判断队满 { printf("队列满!不允许入队\n"); return0; } else { q->rear=(q->rear+1)%size; q->data[q->rear]=x; return1; }}//*********************************//出队intpop_Queue(Queue*q,int*x){ if(q->rear==q->front) { printf("队空!"); return0; } else { q->front=(q->front+1)%size; *x=q->data[q->front];//读取队头元素 return1; }}//*********************************//*********************************//整数部分——栈typedefstruct{ chardataint[100]; inttop;}Stack;//*********************************//-制空栈voidinit_Stack(Stack*s){ s->top=0;}//*********************************//进栈intpush_Stack(Stack*s,intx){ if(s->top==maxsize) { printf("栈已满!"); return0; } else { s->dataint[s->top]=x;//数据进栈 s->top++; return1; }}//*********************************//出栈intpop_Stack(Stack*s,int*x){ if(s->top==0) { printf("栈空,无数据可取!"); return0; } else { s->top--;