欢迎来到天天文库
浏览记录
ID:13554675
大小:383.00 KB
页数:22页
时间:2018-07-23
《学位论文-—数据结构报告约瑟夫环.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、课程设计报告课程设计名称:数据结构课程设计课程设计题目:约瑟夫环院(系):电信学院专业:计算机应用科学目录1课程设计介绍11.1课程设计内容11.2课程设计要求12课程设计原理22.1课设题目粗略分析22.2原理图介绍32.2.1功能模块图32.2.2流程图分析43数据结构分析73.1存储结构................................................................................73.2算法描述74调试与分析94.1调试过程94.2程序执行过程10参考文献15附录(关键部分程序清单)16201课程设计介绍1
2、.1课程设计内容设计程序,系统主要功能如下:编号为1,2,…,n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。开始任选一个正整数作为报数上限值m,从第一个人开始按顺时针方向自1开始顺序报数,报到m时停止报数。报m的人出列,将他的密码作为新的m值,从他在顺时针方向上的下一个人开始重新从1报数,如此下去,直至所有人全部出列为止。试设计一个程序求出出列顺序。1.2课程设计要求1.参考相应的资料,独立完成课程设计任务书。2.交规范课程设计报告和软件代码。202课程设计原理2.1课设题目粗略分析根据课设题目要求,拟将整体程序分为四大模块。此四个模块相互独立,没有嵌套调用的情况
3、,以下是四个模块的大体分析:1.main()函数是主要的控制函数,main()函数主要负责存储用户输入的基本数据以及调用其他子函数模块,在main()函数中还存在一个比较小的函数模块exit(0),该函数模块负责终止程序运行,另外还有两个子函数模块,分别是random()函数模块与solid()函数模块,这两个函数模块分别各自负责自己所要处理的数据以及输出功能;2.在程序运行之后,在程序主界面出现之后,当用户自己输入了自己想要实现的功能模块所在的数字选项后,立即进入主函数模块之中,当用户输入了所有的必要数据之后,按照用户选定的数字选项所要实现的功能调用相应的子函数;3.如果用户
4、选择的是系统随机产生密码的选项,则main()函数就调用random()子函数模块,在random()函数模块中,将会随机产生各个参与者的密码,并且同时建立链表来存储、处理这些数据,在完成了所有的操作之后,random()函数就将输出结果,反之,如果用户选择的是用户自己输入密码的选项,则main()函数就调用solid()函数模块,在solid()函数模块中,将会提醒用户自己一个个的输入每个参与者的密码,与此同时建立链表来存储、处理这些数据,在完成了所有的操作之后,solid()函数就将输出结果。202.2原理图介绍2.2.1功能模块图用户输入数据random()函数模块来随机
5、产生参与者的密码,并且存储、处理这些数据,之后输出它们exit(0)函数负责终止程序运行solid()函数模块来提示用户输入密码并且存储、处理这些数据,之后输出结果根据程序启动时用户所选的数字选项,main()函数来调用相应的子函数模块图2.1功能模块图202.2.2流程图分析1.如图2.2,random()函数的执行过程如下;开始输入第一个报的数key及系统随机产生各个参与者的密码n==0报数过程NY输出出列者的编号及密码结束n--图2.2random()函数流程图202.如图2.3,solid()函数的执行过程如下;开始用户输入各个参与者的密码及第一个要报的数keyn==0
6、N报数过程Y输出出列者的编号及密码n--结束图2.3solid()函数流程图203.如图2.4,main()函数的执行过程如下。开始输入总人数n创建并初始化n个节点输入第一个要报的数keyn==0N报数过程Y输出出列者的编号及密码结束n--图2.4main()函数流程图203数据结构分析3.1存储结构numcodenext图3.1数据存储结构3.2算法描述1.用户输入数据;while(scanf("%d",&p)!=EOF){if(p==1)random();elseif(p==2)solid();elseexit(0);printf("********************
7、*****欢迎进入约瑟夫环问题求解系统*************************");printf("1.按照系统随机给出的密码进行2.按照自己输入的密码进行3.退出该系统");printf("********************请输入您要实现的功能模块所在的数字选项!********************");}2.random()函数随机产生各个参与者的密码,用户在此函数中输入第一个要报的数,此函数之后会排好各个参与者的出列顺序;or(i=1;i<=
此文档下载收益归作者所有