欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    数据结构课程设计说明书猴子吃桃.doc

    • 资源ID:2538419       资源大小:88.50KB        全文页数:17页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据结构课程设计说明书猴子吃桃.doc

    摘 要本文的研究内容是运用数据结构语言编程来解决猴子吃桃问题,主要是运用数据逻辑结构,数据的存储结构和数据的操作。采用数组,链式存储结构和递归的算法进行求解。本文主要介绍了本课题的开发背景,所要完成的功能和开发的过程。重点说明了系统的设计思路、总体设计、各个功能模块的设计与实现方法。关键词:,数组、链、递归;C语言;数据结构目录1课题背景的介绍11.1 课题背景11.2 目的12需求分析22.1 数据需求分析22.2 功能需求分析23系统总体设计33.1 系统模块划分33.2 系统模块结构图34系统详细设计44.1 系统主界面设计44.2采用数组数据结构实现44.3采用链数据结构实现54.4采用递归方法实现54.5退出程序65系统连编与运行146总 结14参考文献151课题背景的介绍1.1 课题背景随着网络技术的迅速发展,各种行业纷纷应用网络技术操作和管理。当然有很多生活中的问题也并不是那么好解决的,比方说,猴子吃桃子问题,一群猴子如何分一堆桃子,且这些桃子能吃几天等等,这就是我们研究这个课题的目的。在计算机迅速发展的今天,将计算机这一信息处理器应用于现实生活已是势必所然。采用计算机来解决实际问题是信息科学化和现代化的重要标志,它也给各大高校带来了明显的社会效益。主要体现在:极大地提高了学生和老师的工作效率,大大地减少了以往的资料室所存在的各种弊端。为了能够更好的来实现对此问题的解决,搜集了大量的资料,从系统结构的组织,功能的实现,技术的要求以及可行性等多方面进行考虑,认为本课题是一个适应现今管理需求的程序设计,具有一定的实际开发价值和使用价值。1.2 目的本课题运用C语言进行开发,C语言能够简单的进行编译一些程序,来实现对一些问题的解决。它虽然比较简单的处理一些问题,但却有更高的效率。它能够被大多数用户所接受,因为它能够呈现出清晰的界面,是人们能够很好的理解。能在一些方面给人们更好的服务,成为人们的好帮手。经过这一个学期对数据结构的学习,我们都学到了不少东西,可能有些学的还不够理想,但无论如何这些知识都为我们的下一步学习打下了坚实的基础。做这么一个课程设计,一方面是为了检查我们一个学期以来的学习成果,另一方面也是为了让我们进一步的掌握和运用它,同时也让我们认清自己的不足之处和薄弱环节,加以弥补和加强。2需求分析随着现代社会的不断进步和发展,而对于有些实际问题通过计算机解决的有关的信息随之增加。在这种情况下单靠人工来处理猴子和桃子的信息不但显得大不从心,而且极容易出错。因此,需要开发一个解决猴子和桃子问题的软件,该软件可以实现由计算机代替人工执行一系列复杂而繁琐的操作,使得操作人员可以轻松快捷的完成任务。2.1 数据需求分析本系统的主要数据是猴子吃桃子问题的实现。此问题包括:用数组数据结构的方法实现;用链数据结构的方法实现;用递归的方法实现等。2.2 功能需求分析本系统主要实现对猴子吃桃子问题的解决,需要实现以下几个方面的功能:(1)添加数据信息:录入数据的信息。(2)数据的输出:输出数据(3)用数组数据结构的方法。(4)用链数据结构的方法。(5)用递归的方法。(6)退出程序。3系统总体设计3.1 系统模块划分本系统主要是用几种方法来实现猴子吃桃子的问题,几种方法分别是:用数组数据结构的方法实现;用链数据结构的方法实现;用递归的方法实现。整个系统分为以下几个模块。1、欢迎界面模块 本模块提供欢迎界面的信息输出模式。2、创建模块 本模块用于录入数据的信息。3、查询模块 本模块用于用不同的方法进行查找。4、退出 用于退出本系统。3.2 系统模块结构图根据系统功能设计,对应的系统模块结构图如图1所示:猴子吃桃问题的实现用数组结构实现退出程序用递归方法实现用链数据结构实现图1 系统模块结构图4系统详细设计4.1 系统主界面设计统过对该系统设计的了解与讨论,同时也为了广大使用者的方便与快捷。我们最后设计了这样的一个界面。首先要让使用者明白怎样使用此系统。这就需要通过界面来给他们一个清晰而明白的空间。而我们设计的这个界面恰好符合了这一要求。通过调用界面函数来使使用者能够很方便的把问题解决。在初始化线性表后,在界面上输入3进入插入模块,选择你要进行的操作。4.2采用数组数据结构方法实现:4.3采用链数据结构的方法实现:4.4用递归的方法实现:在初始化线性表后,在界面上进入插入模块,选择你要进行的操作。程序代码如下: #include<stdio.h> #include<stdlib.h>#include <malloc.h>#define NULL 0#define Day 9/*函数声明*void creat();void print();void array();int digui();void End();void display();void fanhui();void display() system("cls");printf("n * 猴子吃桃子的问题 *n");printf("n * 1,用数组数据结构的方法实现。 *n");printf("n * 2,用链数据结构的方法实现。 *n");printf("n * 3,用递归的方法实现。 *n");printf("n * 4,退出程序。 *n");printf("n *n");printf("n 请输入您的选择(1,2,3,4):");/*数组*void array() int ADay+1;/定义数组 int i; ADay=1;/第十天的桃子数 for(i=Day;i>=1;i-) Ai-1=(Ai+1)*2; /*第一天的桃子数是第2天桃子数加1后的2倍*/ printf("the total of peaches are %dn",A0); printf("桃子变化为:n"); for(i=0;i<= Day;i+) printf("第%d天的桃子数为:%dn",i+1,Ai);/*链表算法*typedef struct linknode int data; struct linknode *next;/链表指针node;node *head; /头结点void creat()/创建链表 node *p,*s; int peaches=1;/第十天时只剩下一个桃子int day=10;printf("输入天数");scanf("%d",&day);printf("输入第%d天还剩几个桃子:",day);scanf("%d",&peaches);head=(node*)malloc(sizeof(node);p=head;while(day>0)s=(node*)malloc(sizeof(node);/分配存属空间s->data=peaches;/用来存放结点数据p->next=s; /把结点插入链表中p=s;peaches=(peaches+1)*2;/第一天的桃子数是第二天桃子数加后的2倍;day-;p->next=NULL;p=head;head=head->next;/使头指针指向头结点free(p); /释放指针Pvoid print()/输出从这十天每天的桃子数 node *p;p=head;int day=10;printf("请确定您输入天数:");scanf("%d",&day);while(p&&day>0) printf("第%d天的桃子数:%d个n",day,p->data);p=p->next;day-;/*递归算法*int sum_fan(int n,int i) /子函数sum_fun,参数n和i接受主函数的参数 x和day if (i>0) n = sum_fan(n+1)*2,-i); /每一次都用(n+1)*2)的值去调用子函数本身 return n; /返回结果int digui() int sum;int dayy; int day=9 ; /实现函数调用的次数printf("输入天数:");scanf("%d",&dayy);day=dayy-1; int x = 1; /最后一天还剩得一个桃子printf("输入第%d天还剩几个桃子:",dayy);scanf("%d",&x); sum = sum_fan(x,day); /调用子函数sum_fan,并把返回得结果赋给sum printf("一共有桃子数%dn",sum); return 0; /*结束语*void End()printf("nnnn"); printf(" 1 谢谢使用 1n");printf(" n 082501153n"); printf(" n 江淑华nnnn");/*主函数*void main() flg:display();int a;int b; scanf("%d",&a);if(a<1|a>4) /system("cls"); goto flg;else switch(a) case 1: system("cls"); printf("n *使用数组的方法:*nnn"); array(); printf("nnn*按<0>键返回主菜单!按任意数字键退出程序!*n"); scanf("%d",&b); if(b=0) goto flg; else system("cls"); End(); break; case 2: system("cls"); printf("n *使用链表的方法:*nnn"); creat(); print(); printf("nnn*任意键返回主菜单!按0退出程序!*n"); scanf("%d",&b); if(b=0) goto flg; else system("cls"); End(); break; case 3: system("cls"); printf("n *使用递归的方法:*nnn"); digui(); printf("nnn*任意键返回主菜单!按0退出程序!*n"); scanf("%d",&b); if(b=0) goto flg; else system("cls"); End(); break; case 4: system("cls"); End(); exit(0); 过去的人工统计既浪费时间而且错误率很高,这不仅影响了工作人员的工作效率,而且还影响了整个学生工作的开展。比如具体的说:运用程序设计很快的解决了猴子吃桃子的问题,而且准确率也很高,通过此系统能够简单方便并且迅速的统计出来,在时间这方面已经节约很多了,这也大大提高了人员的办事效率和质量。5系统连编与运行一个应用系统设计和创建完成后,还必须进行连编,以便生成一个可执行文件供最终用户使用。连编完成后还要运行,以检查整个系统的完整性和准确性,同时还可增加程序代码的保密性。6总 结本程序开发的解决猴子吃桃子问题的软件,从最后的测试结果来看,基本上实现了解决问题的几种方法:数组数据结构的方法;链数据结构的方法;递归的方法等等。并达到操作过程中的直观、方便、实用、安全等要求。系统采用模块化程序设计的方法,既便于系统功能的组合和修改,又便于未参与系统开发的技术维护人员补充和维护。本系统经过测试,证明其运行是稳定、可靠的。在这次课程设计的过程中,我体会到要想开发一个系统软件,不仅需要相当的专业知识,还要有严谨缜密的思维能力。只有思想上清晰了,编程才有意义。同时还要善于捕获细小的方面,因为那往往是这个程序的致命因素。这次课程设计培养了我的细心和耐性,更树立了一种科学态度。但在系统设计中也也遇到很多的问题,并且本系统的功能还需要不断的完善和改进,在以后空闲时间里逐一进行完善,使系统功能更加完善,使本软件能够更好的为大中型企业服务,创造更大的社会价值。在这次设计过程中,我得到了赵一丁老师的精心指导,在此,我由衷地感谢赵老师!参考文献1 黄刘生.数据结构.北京:经济科学出版社,2005 2 黄杨铭.数据结构.北京:科学出版社,2001 3 严蔚敏. 数据结构(C语言版) M. 北京:清华大学出版社. 2008.4 苏光奎.数据结构导学.北京:清华大学出版社,20025 李春葆.数据结构教程(C语言版).北京:人民大学出版社,2009

    注意事项

    本文(数据结构课程设计说明书猴子吃桃.doc)为本站会员(文库蛋蛋多)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开