ImageVerifierCode 换一换
格式:DOCX , 页数:4 ,大小:17.55KB ,
资源ID:28472323      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/28472323.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言课程设计报告约瑟夫环胡存夫.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言课程设计报告约瑟夫环胡存夫.docx

1、C语言课程设计报告约瑟夫环胡存夫C语言课程设计报告(约瑟夫环)胡存夫 沈阳航空航天大学 课 程 设 计 报 告 课程设计名称:C语言课程设计课程设计题目:约瑟夫环 院:计算机学院专业:计算机科学与技术班级:3410301学号:2013040103023姓名: 胡存夫指导教师: 丁一军 沈阳航空航天大学课程设计报告 目录 1 课程设计介绍 . 1 课程设计内容及要求 . 1 系统需求 . 1 2 课程设计原理 . 3 课设题目粗略分析 . 3 功能模块图 . 5 流程图分析 . 5 3 调试与分析 . 10 调试过程 . 10 沈阳航空航天大学课程设计报告 原理图介绍 第三步: 第二次,1号出列

2、 1 3 1 2 约瑟夫环原理演示图 3 4 5 6 7 7 2 4 8 4 第一步:给第一个人赋初始密码为:20则从它开始向下走20次,到6第四步:第三次,4号出列 最后排序后的密码序列: 第二部:第一次停下的位置,此时6号出列,并将他的值作为新的m值,即:新的m=8;从7好开始继续向下走8次,到18 6 3 1 2 4 4 7 1 2 7 3 4 5 图 约瑟夫环原理演示图 4 沈阳航空航天大学课程设计报告 功能模块图 Case 1:一个简单的输出函数,用于说明约瑟夫环; void instruction() Case 2:建立的约瑟夫环,并输出已建立的约瑟夫环: createList(L

3、Node *ppHead,int n) 输出该约瑟夫环的每个人的出列顺序: jose(LNode *ppHead,int Case 0:default : 输入0,退出 exit(0); 主函数调用函数; main() 菜单函数; void menu() 图 约瑟夫环函数调用关系图 流程图分析5 沈阳航空航天大学课程设计报告 1. Main()函createList; 创建储存玩家密码的循环单链表的方法 从主函数中获取玩家信息n 如果n0 是 否 退出 创建循环单链表,储存各个玩家密码 创建链表完成返回主函数main() 图 创建链表函数的数据流程图 2. 6 沈阳航空航天大学课程设计报告 M

4、ain()函jose();出队函数 出队处理的方法 从循环链表中按初始密码依次扫描,找出对应的玩家序列 输出其持有的密码i=ppHead-pwd; j=ppHead-num; 移动浮标指针 m_pwd=ppHead-pwd; 输出密码后,删除相应的结点,并释放所占的储存空间free(ppHead); ppHead=p-next; 图出队函数的数据流程图 3. void instruction() printf(n printf(约瑟夫环:n printf( 编号为1,2,3,4?,n的n个人按顺时针方向围坐一圈,每人持有一个密n 执行完后返回主函数 7 沈阳航空航天大学课程设计报告 print

5、f(码(正整数).一开始任选一个正整数作为报数的上限值m,从第一个人开始n printf(按顺时针方向自1开始顺序报数,报到时停止.报m的人出列,将他的密码n printf(作为新的m值,从他在顺时针方向上的下一人开始重新从1报数,如此下去,n printf(直到所有人全部出列为止.编程打印出列顺序.n printf( return 0; 4菜单模块 void menu() printf(约瑟夫环 *n printf(n printf(1约瑟夫环问题的阐述 n printf(2按要求求解约瑟夫环 n printf(0退出 n printf(欢迎使用! *n 8 沈阳航空航天大学课程设计报告 5

6、. 9 沈阳航空航天大学课程设计报告 Main()开Menu()功能菜单 选择要执行的操作 功能1:约瑟夫环说明 功能2:按要求求解约瑟夫环 输入总人数n 输入开始上线数:功能3:退出系统 输入每个玩家的密码 调用:createList(&ppHead,n); jose(ppHead,m);函数求解所需的密码序列 图 主函数数据流程图 程序运行完,自动返回到功能菜单 3 调试与分析 调试过程 在调试程序是主要遇到一下几类问题: 这是一个使用循环链表的经典问题。本程序开始运行界面如下: 10 沈阳航空航天大学课程设计报告 图 约瑟夫环开始运行选择1进入约瑟夫环问题阐述。界面 11 图约瑟夫环问题

7、阐述 沈阳航空航天大学课程设计报告 选择2,输入下列数据测试: 请输入总人数n:7 请输入开始上限数m:20; 请依次输入每个人的密码:3 1 7 2 4 8 4 出队顺序:6 1 4 7 2 3 5 12 图 约瑟夫环测试1 沈阳航空航天大学课程设计报告 继续选择2,输入下列数据测试: 请输入总人数n:5 请输入开始上限数m:30 请依次输入每个人的密码:3 4 5 6 7 出队顺序:5 3 1 2 4 13 图 约瑟夫环测试2 沈阳航空航天大学课程设计报告 继续选择2,输入下列数据测试: 请输入总人数n:8 请输入开始上限数m:14 请依次输入每个人的密码:3 4 5 6 7 8 9 10

8、 出队顺序:6 7 2 8 3 5 1 4 14 沈阳航空航天大学课程设计报告 测试完成,选择0退出。.图 约瑟夫环测试3 15 沈阳航空航天大学课程设计报告 沈阳航空航天大学课程设计报告 printf(最后一个出列是%d号,密码是:%dn free(ppHead);/释放头结点 void instruction() printf(n printf(约瑟夫环:n printf( 编号为1,2,3,4?,n的n个人按顺时针方向围坐一圈,每人持有一个密n printf(码(正整数).一开始任选一个正整数作为报数的上限值m,从第一个人开始n printf(按顺时针方向自1开始顺序报数,报到时停止.报

9、m的人出列,将他的密码n printf(作为新的m值,从他在顺时针方向上的下一人开始重新从1报数,如此下去,n printf(直到所有人全部出列为止.编程打印出列顺序.n printf(return 0; void menu() printf(约瑟夫环 *n printf(n printf(1约瑟夫环问题的阐述 n 19 沈阳航空航天大学课程设计报告 printf(2按要求求解约瑟夫环 n printf(0退出 n printf(欢迎使用! *n /*主函数模块*/ int main() int n,m,x; LNode *ppHead=NULL; menu(); printf(请选择要执行的

10、操作: scanf( system( switch(x) case 1: printf(n printf(约瑟夫环:n printf( 编号为1,2,3,4?,n的n个人按顺时针方向围坐一圈,每人持有一个密n printf(码(正整数).一开始任选一个正整数作为报数的上限值m,从第一个人开始n printf(按顺时针方向自1开始顺序报数,报到m时停止.报m的人出列,将他的密码n 20 沈阳航空航天大学课程设计报告 printf(作为新的m值,从他在顺时针方向上的下一人开始重新从1报数,如此下去,n printf(直到所有人全部出列为止.编程打印出列顺序.n printf(n main();br

11、eak; case 2: printf(请输入总人数n: scanf(printf(请输入开始上限数m: scanf( createList(&ppHead,n); printf( printf(出队顺序:n jose(ppHead,m); printf(约瑟夫环游戏结束!nmain(); break; case 0: exit(0);default:system(printf(您选择的操作有误,请重新选择.nnnmain(); 21 沈阳航空航天大学课程设计报告 return 0; 22 沈阳航空航天大学课程设计报告 课程设计总结: 本次课程设计涉及到的范围很广,让本人能够比较系统的对C语言

12、和数据结构进行一次整理和复习。同时有了很多的体会和经验。 巩固了以前学过的C语言的知识,在这次课程设计中我体会到C语言超强的逻辑性,能够熟练使用VC+的编译环境,也对这两门课程有了新的认识,他们既有联系,又相互区别,在编写程序过程中要灵活应用 对数据结构的理解有待加强,算法的知识面也有待于提高。不同的人会选择不同的算法,所以即使同样的程序,不同的人必然会设计出不同的方案,所以以后的学习生活中,一定要广泛涉猎,掌握更多更好的解决问题的方法。 此次设计让我意识到程序设计是脑力劳动和体力劳动相结合的,没有平时基础的训练是不会写出高效的算法。 此次课程设计时间虽短,但却课设的过程是短暂的,但我所收获的是永恒的。它让我尝到了学习的快乐,成功的喜悦,更让我懂得了不少做人的道理。要完成一项任务或把东西学好就必须有足够的信心,持久的耐心,有面对困难无所畏惧的精神,这对我日后的学习和生活产生了深远一个影响。 指导教师评语:指导教师(签字): 年 月 日 课程设计成绩 23

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1