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

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

ID:11996223

大小:74.50 KB

页数:9页

时间:2018-07-15

数据结构课程设计——纸牌游戏_第1页
数据结构课程设计——纸牌游戏_第2页
数据结构课程设计——纸牌游戏_第3页
数据结构课程设计——纸牌游戏_第4页
数据结构课程设计——纸牌游戏_第5页
资源描述:

《数据结构课程设计——纸牌游戏》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、题目:纸牌游戏目录一、需求分析…………………………………………………3二、概要设计…………………………………………………3三、详细设计…………………………………………………4四、调试分析和测试结果……………………………………7五、总结………………………………………………………8六、参考文献…………………………………………………8七、致谢………………………………………………………8八、附录………………………………………………………9一、需求分析按以下规则进行翻牌:编号为1-52张牌,正面向上,从第2张开始,以2

2、为基数,是2的倍数的牌翻一次,直到最后一张牌;然后,从第3张开始,以3为基数,是3的倍数的牌翻一次,直到最后一张牌;然后…从第4张开始,以4为基数,是4的倍数的牌翻一次,直到最后一张牌;...再依次5的倍数的牌翻一次,6的,7的直到以52为基数的翻过,最后输出正面向上的牌有哪些?用函数obv1、obv2按照题目要求的规则,用for循环来实现.二、概要设计1.当从第二个编号开始的每张牌每次遇到是其倍数时,都会相应的翻一次,这样,每张牌会翻的次数就各不一样,可能很多次,也可能只有一两次,而结果只是要输出在经过各个

3、不同次数的翻牌后,正面向上的牌都有哪几张。比如24,第一次它是2的倍数时要从正面翻到背面,当进行到3时,就又要从背面翻回来,而到4时还要在翻,同理呢,到6.8.12…它都要来回的翻。如果它在多次的翻牌后,正面还向上了,那么它就是要输出的结果之一。2.建立代表52张牌的线性表——调用翻牌算法按照规则翻牌——输出翻牌算法的结果最为主要的翻牌算法的实现:voidobv2(SqListL,intn){for(inti=2;i<=n;i++)for(intj=i;j<=L.length;j++)if(j%i==0){i

4、f(L.data[j]==1)L.data[j]=0;elseif(L.data[j]==0)L.data[j]=1;}}以上是通过for循环对是当前基数倍数的牌进行翻牌3、根据算法思想,流程图如下:开始建立一个线性表L,将所有变量赋初值为0,表示牌正面向上i>=2&&i<=52j>=i&&j<=5222,j%i=0翻牌,如果L.data[j]=1,则变为0翻牌,如果L.data[j]=0,则变为1j++输出线性表中正面向上的牌的编号结束三、详细设计1、预处理#include#incl

5、ude#defineSIZE100//线性表存储空间的初始分配量2、数据类型定义定义一个结构体类型SqList,结构体中数组指针elem指示线性表的基地址,length指示线性表的当前长度。Listsize指示顺序表当前分配的存储空间大小,一旦因插入元素而空间不足时,可进行再分配。typedefstruct{int*elem;//存储空间基址int*data;intlength;//当前长度intlistsize;//当前分配的存储容量}SqList;3、主要函数功能介绍构造一个空的线性表

6、L用来存储分配:voidInitList_Sq(SqList&L){//构造一个空的线性表L。L.elem=(int*)malloc(SIZE*sizeof(int));if(!L.elem)cout<<"ERROR";//存储分配失败L.data=(int*)malloc(SIZE*sizeof(int));if(!L.data)cout<<"ERROR";//存储分配失败L.length=0;//空表长度为0L.listsize=SIZE;//初始存储容量}//InitList_Sq调用PrintList

7、_Sq函数用来显示线性表中的数据:voidPrintList_Sq(SqListL){//显示线性表中所有数据for(inti=1;i<=L.length;i++){if(L.data[i]==1)cout<

8、inti=2;i<=n;i++)for(intj=i;j<=L.length;j++)if(j%i==0){if(L.data[j]==1)L.data[j]=0;elseif(L.data[j]==0)L.data[j]=1;}}4、主函数voidmain(){SqListL;intn=52;InitList_Sq(L);for(inti=1;i<=n;i++){L.elem[i]=i;L.len

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。