数据结构课程设计纸牌游戏.docx

上传人:h**** 文档编号:26955089 上传时间:2022-07-20 格式:DOCX 页数:9 大小:15.09KB
返回 下载 相关 举报
数据结构课程设计纸牌游戏.docx_第1页
第1页 / 共9页
数据结构课程设计纸牌游戏.docx_第2页
第2页 / 共9页
点击查看更多>>
资源描述

《数据结构课程设计纸牌游戏.docx》由会员分享,可在线阅读,更多相关《数据结构课程设计纸牌游戏.docx(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、数据结构课程设计纸牌游戏 攀枝花学院 学生课程设计(论文)题目:纸牌游戏 学生姓名: 00000 学号:200000000000 所在院(系):数学与计算机学院 专业:网络工程 班级: 2022级1班 指导教师:李世文职称:教授 2022年01月03日 攀枝花学院教务处制 攀枝花学院本科学生课程设计任务书 课程设计(论文)指导教师成绩评定表 摘要 数据结构课程是计算机专业中必修的核心课程之一,也是一门理论性很强的一门课程,同时也是一门锻炼程序涉及能力的实践课程,“数据结构”成为计算机程序设计的重要理论技术基础,它不仅是计算机学科的核心课程,而且已成为其它理工专业的热门选修课。主要包括线性表、树

2、和二叉树以及图等基本类型的数据结构。数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和运算等的学科,包括数据的逻辑结构、数据的存储结构和数据的运算这三个方面的内容,其中逻辑结构可分为线性结构和非线性结构;存储结构可分为顺序存储和链式存储两类,图则属于逻辑结构中的非线性结构。广度优先搜索(BFS)用的队列一步一步完成的,从而找到的是最短路径。 纸牌游戏课程设计包括纸牌信息的建立、了解其翻拍的原理、并简明阐述翻牌的具体步骤与流程、最后输出与打印翻牌结果,整个过程使学生进一步理解和掌握课堂上所学各种基本抽象数据类型的逻辑结构、存储结构和操作实现算法,以及它们在程序中的使

3、用方法。掌握一般软件设计的基本内容和设计方法,培养学生进行规范化软件设计的能力。而且使学生掌握使用各种计算机资料和有关参考资料的方法,提高学生进行程序设计的基本能力。 关键词:数据结构,纸牌游戏,BFS,遍历 Abstract Data structure course is one of required core curriculum in computer major, course is a very practical, is also an exercise program involves the ability to practice curriculum, has becom

4、e an important theoretical and technical foundation of computer program design data structure, it is not only the core course of computer science, and has become a hot elective course for other science majors. Mainly includes the basic data structure type linear table, tree and binary tree and graph

5、 of two. Data structure is a research of non computer program of numerical calculation design problems in operating the objects and their relationships and operations and other disciplines, including logic structure, storage structure and data operation data of the three aspects of content, the logi

6、cal structure can be divided into linear and nonlinear structures; storage structure can be divided into sequential storage and chain store two, graph belongs to nonlinear structure in the logical structure. Breadth first search (BFS) with cohort completed step by step, so as to find the shortest pa

7、th. A card game Solitaire, curriculum design includes information about its principle, and expounds the flop remake of the concrete steps and processes, the final output and print flop results, the whole process to enable students to understand and master the various basic abstract data type science

8、 class logical structure, storage structure and operation of the realization of algorithm, and their in the process of using the method. To master the basic content and the general design method of software design, training students ability of design software specification. And to make the students

9、master the use of various computer data and methods for reference, to improve the students basic ability of program design. Key words:data structure, card games, BFS, traversal 目录 摘要 . I Abstract .II 1 前言 (2) 1.1 课题背景 (2) 1.2 课程设计目的 (2) 2 相关技术分析 (3) 2.1概要设计 (3) 2.2设计原始数据的输入及输出格式 (4) 2.3算法流程图 (5) 3 设

10、计与实现 (6) 3.1 数据结构 (6) 3.2详细设计和编码 (6) 3.2.1 定义全局变量: (6) 3.2.1主要程序代码与分析如下: (6) 3.3 上机调试过程 (9) 5 测试结果及其分析 (10) 6 用户使用说明 (17) 7 源代码 (17) 结论 (18) 参考文献 (19) 附录 (20) 1 前言 数据结构是软件工程专业的必修课之一,是一门综合性的专业基础课。本课程较系统地介绍了软件设计中常用的数据结构以及相应的实现算法,如线性表、栈、队列、树和二叉树,图、检索和排序等,并对性能进行分析和比较,内容非常丰富。 1.1 课题背景 “数据结构”旨在使学生学会分析研究数据

11、对象的特性,学会数据的组织方法,以便选择合适的数据逻辑结构和存储结构,以及相应的运算,把现实世界中的问题转化为计算机内部的表示和处理,这是一个良好的程序设计技能训练的过程。“数据结构”课程设计不仅可以帮助学生充分理解、巩固所学的基本概念、原理和方法,更重要的是能够针对实际问题来选择数据结构,设计相应的存储结构并加以实现,从而最终解决问题。结合数据结构所学知识,要求学生用C语言编程实现一个简单的纸牌游戏设计。 1.2 课程设计目的 (1)使学生进一步理解和掌握课堂上所学各种基本抽象数据类型的逻辑结构、存储结构和操作实现算法,以及它们在程序中的使用方法。 (2)使学生掌握软件设计的基本内容和设计方

12、法,并培养学生进行规范化软件设计的能力。 (3)使学生掌握使用各种计算机资料和有关参考资料,提高学生进行程序设计的基本能力。 2 相关技术分析 2.1概要设计 按照题目的要求,首先,应对52张牌进行编号并且保存它们的编号信息,编号的类型为整型,而对于这样固定的数据,使用整型数组是最好的,因此,我们需要在程序的开始定义一共整型的数组,同时,为了方便对翻转过程的记录,在定义记录编号信息的同时,定义一个与之相对应的标记数组,数组类型为整型。该程序的核心为一个嵌套的循环,所以定义两个变量i,j作为循环条件。 接着开始对变量进行初始化,首先是编号信息数组,使用for循环对数组进行1到52的赋值,代表52

13、张纸牌,然后对标记数组赋值,将数组内的所有的值初始化为零,方便在接下来的循环中统计每张牌的翻牌数。数据初始化结束后,开始按照要求对纸牌进行翻转,在嵌套循环中,定义了一个全局变量Flag,值为-1,负数定义为向下,正数定义为向上,这样,翻转一次,即乘以Flag,同时,符合翻转条件时,标记数组相应的编号的纸牌翻牌次数+1。 当每个号码每次遇到是某个数的倍数时,都会相应的翻一次,这样,每张牌会翻的次数就各不一样,可能很多次,也可能只有一两次,结果就只是要输出在经过各个不同次数的翻牌后,正面向上的牌都有哪几个。举例说明一下,比如24,第一次它是2的倍数时要从正面翻到背面,当进行到3时,就又要从背面翻回

14、来,而到4时还要在翻,同理呢,到6.8.12它都要来回的翻。如果它在多次的翻牌后,正面还向上了,那么它就是要输出的结果之一。 循环结束后,编号数组中的数据已经更新,因此对数组进行扫描,大于零的即为正面向上的纸牌,输出其编号即可,同时,输出标记数组中的值,显示每张牌的翻牌记录,方便观察或者寻找规律。到此,整个题目结束。 2.2设计原始数据的输入及输出格式 原始数据要求输入纸牌的基础编号,编号的输入为整型。输出的是经过规律翻转后正面向上的纸牌的编号。 输入的数据信息如下: 纸牌:1、2、3、51、52。 问题直观分析表: (注:图中“”表示翻转一次。) 2.3算法流程图 3 设计与实现 3.1 数

15、据结构 按照题目要求,整个主体包括一个嵌套的循环,外循环控制从2开始每张纸牌都作为基数进行翻牌,内循环控制对所有纸牌进行判断,如果是当前循环中基数的倍数,则对其进行翻转操作。具体代码如下: for(i=2;i=52;i+) for(j=1;j=52;j+) if(j%i=0) dataj-1=dataj-1*Flag; 3.2详细设计和编码 3.2.1 定义全局变量: 作为判断纸牌是否向上的依据,我们需要定义一个全局变量Flag=-1,在循环中对所有纸牌进行操作。 3.2.1主要程序代码与分析如下: #define Flag -1 (考虑到最后要判断哪些纸牌是正面向上的,所以必须要有一共判断条件,因此定义一个全局变量作为正反面的判断条件。) void main() int i,j,data52,flag52;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 策划方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁