




已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
. . . .实验报告(一) 姓名: 1111111111111 学号:XX实验名称栈和队列的操作指导教师xxx实验地点xxx实验日期xxx实验目的理解栈和队列的概念,完成栈和队列的各种基本操作同组成员无实验过程1、 项目简介进制转换通过编写函数实现十进制浮点数到R进制的转换,在十进制浮点数的整数部分利用栈结构实现,小数部分用队列结构实现。2、 项目实施:1.读取数据并获得小数点位置2.将字符串转为整数形式.3.对整数部分进行入栈4. 获得小数部分并入队5. 整数和小数的联合输出6.源代码:#include #include #include #define size 10 /小数部分大小 #define maxsize 20 /整数部分大小 /* /* /小数部分队列 typedef structchar data10; /读取转制后的小数部分 int front,rear; /队首尾指针 Queue; /循环队列/* /初始化队列void init_Queue(Queue* q) q-front=q-rear=0; /* /入队 int push_Queue(Queue *q,int x) if(q-rear+1)%size=q-front) /判断队满 printf(队列满!不允许入队n);return 0; else q-rear=(q-rear+1) % size;q-dataq-rear=x;return 1;/* /出队 int pop_Queue(Queue *q,int *x) if(q-rear=q-front)printf(队空!);return 0; else q-front=(q-front+1)%size;*x=q-dataq-front; /读取队头元素return 1; /* /* /整数部分栈 typedef structchar dataint100;int top;Stack;/* /-制空栈 void init_Stack(Stack *s) s-top=0; /* /进栈 int push_Stack(Stack *s,int x)if(s-top=maxsize) printf(栈已满!);return 0; else s-dataints-top=x; /数据进栈 s-top+; return 1; /* /出栈 int pop_Stack(Stack *s,int *x) if(s-top=0)printf(栈空,无数据可取!);return 0;else s-top-;*x=s-dataints-top; /取处数据 return 1;/* 主程序 int main()/* /读入数据 char a20;int aim;printf(请输入一个十进制浮点数: ); /以字符串形式输入一个浮点数 gets(a);printf(请输入目标进制: );scanf(%d,&aim); if(aim=1) printf(ERROR! PLEASE INPUT A NUMBER AND IT IS BIGGER THAN 1);return 0;/* /读取小数点位置 int i;int pos;/小数点位置 for(i=0;istrlen(a);+i)if(ai=.)pos=i;break; /* /定义栈 对整数部分转化后并入栈 Stack ss;init_Stack(&ss);/初始化栈 /* /将整数部分转换为 int 型 int begin=1;int bnum; if(a0=-) int bnum = a1-0; /判断是否为负数 begin=2;else bnum=a0-0;for(i=begin;i=0;i-) /先从顶端出栈 printf(%d ,ss.datainti); else printf(无数据!); /printf(n);/* /定义队列 并将小数部分转化后 入队 Queue q,*cq=&q;init_Queue(cq);/* /将小数点后面的部分转为浮点数 int c=1;int anum=apos+1-0;for(i=pos+2;istrlen(a);i+)anum=anum*10+(ai-0);c+; double small=(double)anum)/pow(10,c);/ printf(小数部分:%lfn,small);/* / 依次求得小数部分的每一位并入队 int zz;int innum;for(i=0;ifront)%size;i!=(cq-rear+1)%size;i=(i+1)%size)printf(%d ,cq-datai);/* return 0;实验总结通过对数据的单个读取并入栈,后续的出栈顺序为从上到下,先进后出,读取数据后为相反的顺序,而队列的顺序出队为先进先出,对小数的存储可直接进行读取。1. 若不给自己设限,则人生中就没有限制你发挥的藩篱。2. 若不是心宽似海,哪有人生风平浪静。在纷杂的尘世里,为自己留下一片纯静的心灵空间,不管是潮起潮落,也不管是阴晴圆缺,你都可以免去浮躁,义无反顾,勇往直前,轻松自如地走好人生路上的每一步3. 花一些时间,总会看清一些事。用一些事情,总会看清一些人。有时候觉得自己像个神经病。既纠结了自己,又打扰了别人。努力过后,才知道许多事情,坚持坚持,就过来了。4. 岁月是无情的,假如你丢给它的是一片
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年广州市劳动合同模板
- 2025年新乡市诚城卓人学校招聘教师若干名模拟试卷及一套答案详解
- 2025年深圳市建筑工程行业员工劳动合同
- 2025广东广州市黄埔区教育局招聘事业编制教职员206人考前自测高频考点模拟试题(含答案详解)
- 2025海南省高校毕业生三支一扶计划招募模拟试卷附答案详解(模拟题)
- 2025湖北襄阳市枣阳市招聘事业单位人员206人模拟试卷及答案详解(夺冠系列)
- 湖南、广西2025-2026学年高三上学期阶段性检测(二)英语 含答案
- 江西心理考试题库及答案
- 【借款协议】过桥资金借款合同8篇
- 篮球主教练考试题及答案
- 【市质检】福州市2024-2025学年高三年级第一次质量检测 地理试卷(含答案)
- 四川蜀道铁路运营管理集团行测笔试题库
- JB T 5496-2015 振动筛制造技术条件
- HGT 4686-2014 液氨泄漏的处理处置方法
- 《答谢中书书》教学设计
- 愚公移山说课稿讲解课件
- 《城市的起源与发展》课件
- 4.CSR社会责任法律法规合规性评价表
- 15D501 建筑物防雷设施安装
- 小学生解决万以内退位减法错误类型及影响研究
- 水利工程中挡土墙的选型与稳定性验算
评论
0/150
提交评论