数据结构大作业-纸牌游戏
三、解题思路的描述
本实验主要采用链表的存储方式,属于链接存储结构。
存储节点的结构体定义:
struct node//定义结点
{ int data;
int key;//定义标志位
struct node *n ext;
}
算法的主要流程是:
建立代表52张牌的链表一一>调用翻牌算法按照题目所示规则进行翻牌一一 束后的最终结果。
一、 实验内容概述
编号为1~52的牌,正面向上,从第二张开始,以2为基数,是2的倍数的牌翻一次,直到最
后一张牌;然后,从第三张开始,以3为基数,是3的倍数的牌翻一次,直到最后一张牌;然后从
第四张开始,以4为基数,是4的倍数的牌翻一次,直到最后一张牌;依次类推,知道所有以52
为基数的牌翻过一次。输出:这时正面向上的牌有哪些?
{ if(p2->key==0)
p2->key=1;
else
p2->key=0;
}
}
}
}
是通过两个
翻牌算法函数:
void fan pai(struct n ode *p)//翻牌算法
{ struct node *p1,*p2;
for(p1=p->n ext;p1!=NULL;p仁p1-> next)
{ for(p2=p1;p2!=NULL;p2=p2-> next)
{ if(p2->data%p1->data==0)//是当前基数的倍数的则翻牌
七、参考文献5
【内容摘要】
编号为
后一张牌;然后,从第三张开始,以
第四张开始,以
为基数的牌翻过一次。输出:这时正面向上的牌有哪些?
【关键字】
52
【Abstract】
Numbered1to52cards, face up, starting from the second to 2 as the base, is a multiple of 2 cards turning on ce, un til the last card; and the n, begi nning from the third to 3 as the base,is a multiple of 3 cards turning once, un til the last card; and the n start from the fourth to 4 as the base, is a multiple of 4 cards turning once, un til the last card;
and so on, that was all of 52base of the card turned over on ce.Output: At this time what the cards face up?
【Key words】
52 cards, multiple, base, array
最后要求输出正面向上的牌,主要通过链表来实现!
实验目的概述
a)了解线性表的特性,以及它们在实际问题中的应用。
b)掌握顺序表和链表的实现方法,以及它们的基本操作。
c)掌握线性表的链式存储结构一一单链表的定义及其C语言实现。
d)掌握线性表在链式存储结构一一单链表中的各种基本操作。
e)通过用链表编程实现问题的解决,提高自身的问题解决能力。
数据结构课程设计大作业
题 目纸牌游戏
专 业Байду номын сангаас算机科学与技术
学生姓名
学 号
指导教师
完成日期
信息与工程学院
一、实验内容概述(设计任务与技术要求)1
二、实验目的概述(总体设计方案)1
三、解题思路的描述(数据结构和算法的设计):1
四、源程序清单(源程序中应该附有必要的注释)2
五、程序调试及测试结果4
六、结论4