将一副扑克牌平均分成两份,每人拿一份。a先拿出手中的第一张扑克牌放在桌上,然后b也拿出手中的第一张扑克牌,并放在a刚打出的扑克牌的上面,就像这样两人交替出牌。出牌时,如果某人打出的牌与桌上某张牌的牌面相同,即可将两张相同的牌及其中间所夹的牌全部取走,并依次放到自己手中牌的末尾。当任意一人手中的牌全部出完时,游戏结束,对手获胜。

以下是代码的实现:

#define _crt_secure_no_deprecate

#include

#include

struct queue//定义队列的结构体

{

int data[1000];

int head;

int tail;

};

struct stack//定义栈的结构体

{

int data[10];

int top;

};

void poker()

{

struct queue q1;

struct queue q2;

struct stack s;

int arr[10];

int i, t;

q1.head = 1; q1.tail = 1;

q2.head = 1; q2.tail = 1;

s.top = 0;

for (i = 1; i <= 9; i++)

{

arr[i] = 0;//对数组进行初始化,全部为0

}

for (i = 1; i <= 6; i++)

{

scanf("%d", &q1.data[q1.tail]);

q1.tail++;

}

for (i = 1; i <= 6; i++)

{

scanf("%d", &q2.data[q2.tail]);

q2.tail++;

}

while (q1.head < q1.tail&&q2.head < q2.tail)

{

t = q1.data[q1.head];

if (arr[t] == 0)

{

q1.head++;

s.top++;

s.data[s.top] = t;

arr[t] = 1;

}

else

{

q1.head++;

q1.data[q1.tail] = t;

q1.tail++;

while (s.data[s.top] != t)

{

arr[s.data[s.top]] = 0;

q1.data[q1.tail] = s.data[s.top];

q1.tail++;

s.top--;

}

}

t = q2.data[q2.head];

if (arr[t] == 0)

{

q2.head++;

s.top++;

s.data[s.top] = t;

arr[t] = 1;

}

else

{

q2.head++;

q2.data[q2.tail] = t;

q2.tail++;

while (s.data[s.top] != t)

{

arr[s.data[s.top]] = 0;

q2.data[q2.tail] = s.data[s.top];

q2.tail++;

s.top--;

}

}

}

if (q2.head == q2.tail)

{

printf("a赢\n");

printf("a当前手中的牌是:");

for (i = q1.head; i <= q1.tail - 1; i++)

{

printf(" %d", q1.data[i]);

}

if (s.top > 0)

{

printf("\n桌上的牌是:");

for (i = 1; i <= s.top; i++)

{

printf(" %d", s.data[i]);

}

printf("\n");

}

else

{

printf("\n桌上已经没有牌了");

}

}

else

{

printf("b赢\n");

printf("b当前手中的牌是:");

for (i = q2.head; i <= q2.tail - 1; i++)

{

printf(" %d", q2.data[i]);

}

if (s.top > 0)

{

printf("\n桌上的牌是:");

for (i = 1; i <= s.top; i++)

{

printf(" %d", s.data[i]);

}

printf("\n");

}

else

{

printf("\n桌上已经没有牌了");

}

}

}

int main()

{

poker();

system("pause");

return 0;

}

运行的结果:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

C语言数字转扑克牌字符,C语言实现简易扑克牌游戏相关推荐

  1. C语言数字3转变字符 3 程序,大学c语言知识点总结

    大学c语言知识点总结 C语言的设计目标是提供一种能以简易的方式编译.处理低级存储器.产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言.一起来看看大学c语言知识点总结吧! 大学c语言知识点总 ...

  2. c语言330转化成字符,c语言同步练习(330份).doc

    c语言同步练习(330份) 第一章计算机基础 易错题型分析 C语言的基本单位是() A 函数B过程C子程序D子例程 答案:(A) [分析考点] C语言是函数式的语言,它的基本单位是函数,在C语言中任何 ...

  3. 一个基本c语言注释用什么字符,C语言的词法规则京鸿智武 今天提纲:本文主要介绍了C语言中...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 C语言的词法规则 京鸿智武 今天 提纲:本文主要介绍了C语言中的词法规则,包括字符.注释.接续符.标识符 一.字符 1.字符集都包括什么? 标准规定字符集 ...

  4. c语言数字转化为字母表,c语言字符串 数字转换函数大全

    转载:c语言字符串 数字转换函数大全 字符串数字转换到底什么意思呢: 字符串和数字的编码不一样,字符串是按照国际标准ASCII码表进行编码,每个数字都是一个8位的ASCII码(也就是一个字节大小):而 ...

  5. c语言输入一段字符,C语言实现输入一个字符串后打印出该字符串中字符的所有排列...

    本文实例讲述了C语言实现输入一个字符串后打印出该字符串中字符的所有排列的方法,属于数学里的排列问题.是一个很实用的算法技巧.分享给大家供大家参考.具体实现方法如下: 例如输入字符串abc,则输出由字符 ...

  6. c语言数字字体的格式,c语言—— 格式控制符—— 数据类型——相对应的字节数...

    这是转义 scanf("%lf", &r); 枚举类型:https://www.cnblogs.com/bhlsheji/p/5204541.html ANSI C标准基本 ...

  7. C语言数字与字母拼接,c语言 字符串的拼接和分割实例

    1.字符串的拼接 使用c的函数char *strcat(char *str_des, char *str_sou); 将字符串str_sou接在字符串str_des后面(放在str_des的最后字符和 ...

  8. c语言怎么写入换行字符,C语言中的换行符是什么:要么 ?

    C中的换行符是什么? 我知道不同的操作系统具有不同的行尾字符,但是它们被转换为C换行符. 那是什么角色? .在读取或写入文本模式文件或stdin / stdout等时,必须使用,C会为您处理翻译.当您 ...

  9. c语言的256个字符,C语言版 256点FFT算法

    从网上找到的一段感觉比较好的FFT函数,可以直接使用,出处由于时间原因已经忘记了@@ //文件名:fft.c #include "fft.h" //128等分余弦表 static ...

最新文章

  1. linux git hudson,如何使用SSH密钥配置Hudson和git插件
  2. 收藏长文|Java 代码精简之道
  3. [转载]Java-集合框架完全解析
  4. ORACLE关于段的HEADER_BLOCK的一点浅析
  5. C语言通过printf()设置输出显示方式
  6. oracle 创建,删除存储过程,参数传递,创建,删除存储函数,存储过程和函数的查看,包,系统包
  7. 网站时间显示——基于Date
  8. [C] strncpy 函数
  9. Struts2文件上传与下载
  10. 埃斯顿服务器上电无显示,埃斯顿伺服常见现象报警及排除
  11. c++ 字符串拼接_python字符串零碎总结
  12. python画蜡烛致敬烈士_Python量化交易-绘制蜡烛图 !这个图不像你的钱哦!
  13. php基础之时间函数(date(), time(), microtime())
  14. 图像处理网络资源【转】
  15. 使用国内镜像源来加速python pypi包的安装
  16. 【软件设计】如何画时序图
  17. Axure RP9——【图片放大预览效果】
  18. Vue项目流程7,交易页面,提交订单,支付页面,利用element UI 以及 QRCode 完成微信支付,弹出框按钮的相关工作,个人中心以及子路由我的订单
  19. 低频矢量网络分析仪(VNA)的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  20. OS1和OS2单模光纤的区别

热门文章

  1. 仿着锤子科技官网进行的一个angular4.0项目~~~
  2. 腾讯云轻量级应用服务器部署并运行JavaWeb项目
  3. 代分数计算机气在线,c++课程设计--分数计算器.doc
  4. stp实验心得_STP实验
  5. 【转】日立HDS存储Storage Navigator Modular 2(SNM2)管理软件下载(包含安装配置说明)...
  6. 浅谈CORS的两种请求方式
  7. U盘东西误删怎么恢复,轻松三步立即恢复
  8. python高频词统计_python几万条微博高频词分析
  9. 城市:天际线/Cities: Skylines 全DLC解锁
  10. Javascript入门阶段——if语句