首先给小哼和小哈发牌,然后按照先小哼后小哈的出牌顺序出牌。出牌时,若某人打出的牌面与桌子上的某张牌面相同,则这个人将两张相同和之间的牌全部取走,并依次放在自己手中牌的末尾。当任意一人手中的牌全部取完时,游戏结束,对手获胜。
分析:
不管小哼还是小哈,他们总共只有两种操作--出牌和赢牌,这就可以很好地用出列和入列模拟,用栈模拟桌子,能够很好地清楚桌子上的牌的情况。
#include"stdio.h"
struct queue
{ //定义队列
int data[1000];
int head;
int tail;
};
struct stack
{
//定义栈
int data[10];
int top;
};
int main()
{
struct queue q1,q2;//分别模拟小哼、小哈
struct stack s;//模拟桌子
int i,t,book[10]={0};
//初始化队列
q1.head=1;q1.tail=1;
q2.head=1;q2.tail=1;
//初始化栈