欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > DOCX文档下载  

    数据结构课程设计报告(四维数组应用).docx

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

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

    数据结构课程设计报告(四维数组应用).docx

    数据结构课程设计报告原创设计题目:数组应用专业班级学生学号指导教师时间目录一、设计任务3二、软件环境4三、程序源代码4四、算法设计思想及流程图114.1 算法设计思想114.2 流程图134.2.1主要功能模块流程图134.2.2输入函数流程图134.2.3输出函数流程图144.2.4查找函数流程图15五、输入及相应运行结果16六、收获及体会19七、参考文献20八、附录(局部截图)21一、设计任务题目:数组应用功能:按照行优先顺序将输入的数据建成4维数组,再按照列优先顺序输出结果,给出任意处的元素值,并给出对应的一维数组中的序号。分步实施:1 .初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;2 .完成最低要求:完成第一个功能;3 .进一步要求:进一步完成后续功能。有兴趣的同学可以自己扩充系统功能。要求:1)界面友好,函数功能要划分好2)总体设计应画一流程图3)程序要加必要的注释4)要提供程序测试方案5)程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。二、软件环境VC+6.0三、程序源代码#include<stdio.h>#include<malloc.h>#include<stdlib.h>#defineM100typedefstructintdata;intwei4;node;typedefstruct(nodedatM;intmax_meiwei4;每维的长度intm;shu;voidmenu(shu*G);voidinput(shu*G);voidoutput(shu*G);voidfind(shu*G);voidintroduce(shu*G);函数声明/*/voidinput(shu*G)/输入按行intij,k,hh,b,n;G->m=l;for(i=0;i<4;i+)依次输入第一、二、三、四维的长度printf(ttt请输入第d维的长度:",i+l);scanf(,%d,G->max-meiweii);G->m*=G->nax.meiweii;维数长度积即为数据个数)n=0;for(i=0;ivG>max_meiwei0;i+)坐标(for(j=Oy<G->max-meiwei1Jjj+)¾J(for(k=0;k<G->max_meiwei2;k+)/$&(for(l=0;lG>max_meiwei3;l+)化(G->datn.weiO=i;G->datn.weil=j;G->datn.wei2=k;G->datn.wei3=l;n+;)for(n=0;nvG->m;n+)依次输入各个结点的坐标值printf(ttt请输入At');for(b=0;b<4;b+)printf(,%d,n,G->datn.weib);)PrilItfrb的值n”);scanf(%dM,&G->datnJ.data);)system(,'pause'1);menu(G);/*/voidoutput(shu*G)/输出按列优先顺序intiJb,k,l,h,n;for(i=0;i<G->max_meiwei3;i+)先固定第四维,而后由里到外依次输出(for(j=0y<G->max_meiwei2;j+)(for(k=0;k<G->max_meiweil;k+)(for(!=0;l<G->max_meiwei0;l+)printf(,tf,);for(h=0;h<G->m;h+)(if(G->dath.wei3=i&&G->dath.wei2=j&&G->dath.weil=k&&G->dath.weiO=l)(printf(,t%d',G->dathJ.data);)prmtf(,n,);)printf(',n,);SyStem("pause");menu(G);/*/*/voidfind(shu*G)/给出任意元素值输出对应的一维数组所在的位置inti,a,k=j;system(,dsn);printf(,nnttt请输入所查值:”);scanf(,%d,a);for(i=0;i<G->m;i+)(if(a=G->datli.data)逐个比拟,找出数组中和所给值相等的数(printf(ntt4444444444444444);prntf(',nttt对应第一维位置为:%dn,i);printf(,tt5555555555555555nn);k=l;)if(k=O)printf(',nttt-(>_<)-对不起,您所查询的数不存在(>_<)-n,);Printfnttt继续lnttt返回2nttt请选择:”);scanf(',%d',j);if(j=l)(find(G);elseif(j=2)(menu(G);)SyStem("pause");menu(G);/*/voidmenu(shu*G)/藻单inti;system(',clsn);system(ncolor9an);Printf("ttnnnnnn");Printfrttn");Printf"NIIiiiiiiiiiiiiiiiiiiiw);printf(,ttI*I11");printf(,tt+*WELCOME*+n,);printf(*,ttI*I11");printf(,tt+*+n,);printf(uttI*I11,);printf(,tt+*输入(press1)*+n't);printf(,'ttI*输出(press2)*In,);printf(,ttI*查找(press3)*In,t);printf(*,tt+*退出(press0)55÷nt);printf(,ttI*In,);printf(,ttI*I11");printfC,tt+HIlllHdllIl+111t);printf(uttt请选择”);printf(,ntttu);scanf(%d,'i);switch(i)case 1: input(G);break;case 2: output(G);break;case 3: find(G);break;case0:(system(,cls);printf("nnM);printf(*ttnn);printf(,ttnn);printf(,tt(.)n't);printf('*tt+oo(_)oo+n',);printf(',ttn);printf(,tt再见!谢谢使用!!|暧);printf(',ttnn);printf(',tt+oooOooo+no);Printfrnr);exit(O);break;default:menu(G);break;/*/*/voidintroduce(shu*G)inti;system(,'clsn);printf(,nnnntt此系统的功能有nn");Prilltfrtt按照行优先顺序将输入的数据建成4维数组nn”);Prilltf"tt按照列优先顺序输出nn”);Prilltfrtt给出任意处的元素值,查询相应的一维数组的序号nn");printf(',nnntt按1返回n");printf(,nntt按O退出暧);scanf(,%d,i);if(i=l)menu(G);)elseif(i=O)exit(O);)/*/main()intij=l;shu*G;G=(shu*)malloc(sizeof(shu);开辟一段空间while(j)利用j来实现while循环system(,clsn);system(,color9e");printf(,nttt333333333 printf(,nnnttt333333333 printf(,nnnttt333333333 printf(,nttt 请选择:”);printf(',nnn,');-111n);printf(,ttI*Intt);printf(,ttI*X欢送使用数组应用系统X*I11,);printf(,ttI*Int);printf(,ttI*I11);printf(,ttI*Inn);printf(,ttI*Inn);printf(,ttI*Inn);printf(,ttI*Inn);printf(,ttI*Inu);printf(,ttI*In,t);printf(,ttI*Inn);printf(,ttI*Inn);printf(,ttI*Inu);printf(,ttI*In,t);printf(,ttI*Inn);printf(,ttI*In).printf(,tt1-j11,);简介I3333333n);登录23333333);退出33333333,);/case语句,控制输入情况scanf(,'%dn,&i);switch(i)case 1:j=0;introduce(G);break;case 2:j=0;menu(G);break;case 3:j=0;exit(0);default:Prirltf输入有误,请重新输入。/储强程序健壮性j=i;return0;四、算法设计思想及流程图3.1 算法设计思想首先,在定义四维数组的数据类型时,我选择了整型以方便编程及利于数据的输入和输出。为了实现任务所要求的功能,我将程序划分为三类:功能函数,界面函数以及主函数。另外,其中的功能函数包括以下几种函数:四维数组元素输入函数、四维数组元素输出函数、元素查找函数、功能介绍函数以及主函数。对于四维数组输入函数,我通过四个for循环语句先对数组的坐标进行初始化,并输入各个维的长度。然后,再利用一个for循环输入各个元素值。输入时,先固定第一维,然后依次输入各个结点的元素值。对于思维数组输出函数,我也是通过多重for循环进行元素值的输出。先固定第四维,然后依次输出各个结点的元素值。对于元素查找函数,就比拟简单了。就是依次对四维数组中的元素值进行比对,如果所查找的元素与数组中的元素值相同,那么输出该元素所在的一维编号即可。界面函数包括欢送界面以及选择菜单界面,包括在完成某些操作后循环出现的选择界面。出于对界面更加友好的考虑,我适当的装饰了一下界面,并采用了DOS系统的清屏命令以及暂停函数,这样就使得界面更加的清晰、简洁,便于使用。在主函数里,我先输入了欢送界面,然后进入系统选择菜单,最后在退出该系统时,还设置了欢送界面,使得该系统更加的人性化。4.2流程图4.2.1主要功能模块流程图4.2.2数组输入函数流程图4.2.3数组输出函数流程图4.2.4查找函数流程图五、输入及相应运行结果15372648第一组:一二三四维数分别为2,2,2,2,行优先输入16个数:1、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16列优先输出相应结果:913111510141216查找元素16:对应的一维位置为15第二组:一二三四维数分别为2,2,2,2:行优先输入16个数:5,3,4,7,11,3,9,10,8,5,5,7,40,21,31,22列优先输出相应结果:5114933710840531521722查找元素7:对应的一维位置为3,11六、收获及体会通过数据结构的课程设计,我学到了许多,并将这些知识应用于实践中,进一步锻炼了自己的动手能力。当然,也会出现一些问题。总结如下:1、 对于出现的调试错误要仔细分析错误的原因,根据错误提示,按照自顶向下的程序设计原那么,逐个进行排错。只要够细心,就一定能够找到错误的所在。2、 程序的易操作性很重要,也就是要有一个足够友好的界面。基于这一点,我设计了自己程序的人机对话界面,通过一个个选项来完成各种操作,大大增强了程序的易用性。3、 编程过程中参加必要的注释是很重要的,这不仅时为了别人能更容易的看懂你的源程序,更重要的是方便自己未来的修改。因为程序源代码一多,自己未必能够十分清楚变量及函数的作用。此时,加必要的注释,就能帮助自己变量及函数的含义,而不是从头理解,提高了工作的效率。4、 要善于利用各种资源,以此提高自己编程的效率。否那么,就会花费许多无谓的时间在不必要的事情上面。5、 编写的程序要通俗易懂,比方变量与函数的定义要尽量做到见名知义。七、参考文献C程序设计(第四版)2010. 01数据结构(C语言版)1997. 041、谭浩强编著清华大学出版社2、严蔚敏编著清华大学出版社3、网络资源八.局部截图三C:DocuaentsandSettIngsXAdainistratordsfadf.exe此系统的功能有 按照行优先顺序将输入的数据建成4维数组 按照列优先顺序输出 给出任意处的元素值,查询相应的一维数组的序号按1返回按0退出H=*IcC:DocuBentsandSettIngsXAdBinistrator3Sdsfadf.ezeUELCOME<press<press<press<press入出11I肉C:DocuertsandSettiiIgS'AdiinistratorA桌面dsfadfex。入裳出2 2 2 2 值 庾 长长长长0,0 rJ 4 - 生在H 0 幺一幺“幺* 12 3 4 0 g2FrgA 入入入入入 1请道TM请请请输入A0,H,0,11的值请输入At0,0,1,0的值请输入At8,0,i,l的值请输入AtB/.0,6】的值-1111WELCOME<C:Docu>entsandSettingsAd>inistratordsfadf.exe.*>>>230入出战出is121537264891311IS10141216上

    注意事项

    本文(数据结构课程设计报告(四维数组应用).docx)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

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




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开