一副牌:54张

从0开始排序:

0-12表示黑桃   A 1,2,3,... 10,J,Q,K

13-25表示红桃 A 1,2,3,... 10,J,Q,K

26-38表示草花 A 1,2,3,... 10,J,Q,K

39-51表示方块 A 1,2,3,... 10,J,Q,K

52,53表示大小王

#include

void shuffle(char *porker)

{

/*将存放数组初始化为1-54*/

for (int i = ; i < ; i++)

{

porker[i] = i;

}

/*生成随机种子*/

srand(time(NULL));

/*洗牌,生成随机数,两两交换*/

for (int i = ; i < ; i++)

{

int rnd = rand() % ;

/*指定任意一张牌,与当前牌进行交换*/

int temp = porker[i];

porker[i] = porker[rnd];

porker[rnd] = temp;

}

}

void play(char *porker)

{

for (int i = ; i < ; i++)

{

printf("i=%2d\t", porker[i]);

if ((i + ) %==)

printf("\n");

}

}

void bottom(char *porker)

{

/*定义花色的枚举体*/

enum TYPE{

黑桃,红桃,草花,方块

};

/*定义几个特殊牌的枚举体*/

enum VALUE{

A=,J = , Q, K

};

printf("\n=======底牌=========\n");

for (int i = ; i < ; i++)

{

/*大小王特殊处理*/

if (porker[i] == ) printf("小王");

if (porker[i] == ) printf("大王");

else{

/*0-12代表红桃的A-1-2-K*/

int type = porker[i] / ;

int value = porker[i] % ;

switch (type)

{

case 黑桃:printf("黑桃"); break;

case 红桃:printf("红桃"); break;

case 草花:printf("草花"); break;

case 方块:printf("方块"); break;

}

switch (value)

{

case A:printf("A"); break;

case J:printf("J"); break;

case Q:printf("Q"); break;

case K:printf("K"); break;

default:printf("%d", value); break;

}

printf("\t");

}

}

}

int main()

{

/*存放54张扑克的数组*/

char porker[] = { };

/*洗牌*/

shuffle(porker);

/*出牌*/

play(porker);

/*底牌,3张底牌*/

bottom(porker);

system("pause");

return ;

}

C语言实训——扑克牌洗牌程序

说明此程序本来是21点扑克程序的一个被调函数,在这里我单独将它拿出来作为一个小程序. #include #include #include&l ...

基于visual Studio2013解决C语言竞赛题之1053洗牌

   题目 解决代码及点评 /* 功能:洗扑克牌.将54张牌分别编号为1,2,-,54号,并放在数组M中. 洗牌方法如下:产生[1,54]区间内的一个随机数K,将M[1]与M[K]交换: ...

java斗地主扑克 扑克牌 洗牌 发牌 Collection 集合练习

package com.swift.poker; import java.util.ArrayList; import java.util.Collections; /*训练考核知识点:Collect ...

C&plus;&plus;分享笔记:扑克牌的洗牌发牌游戏设计

笔者在大学二年级期间,做过的一次C++程序设计:扑克牌的洗牌发牌游戏.具体内容是:除去大王和小王,将52张扑克牌洗牌,并发出5张牌.然后判断这5张牌中有几张相同大小的牌,是否是一条链,有几个同花等. ...

C&plus;&plus;走向远洋——67(项目二、洗牌)

*/ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.cpp * 作者:常轩 * 微信公众号:Worldhe ...

LinkedList存储一副扑克牌,实现洗牌功能。

package cd.itcast.runble; import java.util.LinkedList; import java.util.Random; /** * LinkedList存储一副 ...

洗牌算法Fisher-Yates以及C语言随机数的产生

前些天在蘑菇街的面试中碰到一道洗牌的算法题,拿出来和大家分享一下! 原题是:54张有序的牌,如何无序的发给3个人? 这个题是运用经典的洗牌算法完成.首先介绍一种经典的洗牌算法--Fisher-Yate ...

AS3&period;0 扑克牌乱序排列法洗牌

package { /* *@ClassName:package::PokerMain *@Intro:这是一个初始化1-52扑克牌,然后进行乱序排列进行洗牌: *@Author:非若 *@Date: ...

随机推荐

Junit测试中的setup和teardown 和 &commat;before 和 &commat;After 方法

这几天做Junit测试接触到了setup和teardown两个方法,简单的可以这样理解它们,setup主要实现测试前的初始化工作,而teardown则主要实现测试完成后的垃圾回收等工作. 需要注意的是 ...

大体了解Lua的语法

Lua 的语法比较简单,学习起来也比较省力,但功能却并不弱. 在Lua中,一切都是变量,除了关键字.请记住这句话. I. 首先是注释 写一个程序,总是少不了注释的. 在Lua中,你可以使用单行注释和多 ...

Android开发之ViewPager

什么是ViewPager? ViewPager是安卓3.0之后提供的新特性,继承自ViewGroup,专门用以实现左右滑动切换View的效果. 如果想向下兼容就必须要android-support-v ...

PHP操作Oracle数据库

原文出处 (这是来自“百度文库”中的文章写得很不错) PHP操作Oracle数据库(OCI数据抽象层)OCI(Oracle 8 Call-Interface)是PHP中内置的数据库抽象层函数.下面针对 ...

生成mif文件的几种方法总结

mif文件就是存储器初始化文件,即memory initialization file,用来配置RAM或ROM中的数据.生成QuartusII11.0可用的mif文件,有如下几种方式: 方法1:利用Q ...

【Unity技巧】四元数(Quaternion)和旋转

四元数介绍 旋转,应该是三种坐标变换--缩放.旋转和平移,中最复杂的一种了.大家应该都听过,有一种旋转的表示方法叫四元数.按照我们的习惯,我们更加熟悉的是另外两种旋转的表示方法--矩阵旋转和欧拉旋转. ...

C&num;控件事件属性大全

C#控件及常用设计整 1.窗体... 1 2.Label 控件... 3 3.TextBox 控件... 4 4.RichTextBox控件... 5 5.NumericUpDown 控件... 7 ...

SpringBoot-02:SpringBoot中的POM文件详细解释

------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 我把pom文件,以及它的详细解释发出来 <?xml version="1.0" en ...

解决Entity Framework查询匿名对象后的跨域访问的一种方式

在Entity Framework中,可以使用lambda表达式进行对数据的查询,而且可以将查询结果直接映射为对象或者对象列表,这极大的提高的开发速度,并且使数据层的数据更加方便处理和传递.但是很多时 ...

端口以及服务常用cmd

netstat -ano                           列出所有端口的情况 netstat -aon|findstr "49157"   查出特定端口的情况 ...

C语言实现洗牌发牌程序,用C语言实现的扑克牌洗牌程序相关推荐

  1. c语言洗牌发牌结构体,C语言实现洗牌发牌小程序

    本文实例为大家分享了C语言实现洗牌发牌小程序的具体代码,供大家参考,具体内容如下 构建一副扑克牌,并实现洗牌发牌. 代码 #include #include #include #define NUM ...

  2. c语言洗牌发牌结构体,C语言程序设计课程设计多功能计算器、洗牌发牌、学生文件处理、链表处理.doc...

    序号: 30 学号: 课 程 设 计 设计课程名称: C语言程序设计 题 目:多功能计算器.洗牌发牌.学生文件处理.链表处理 学 生 姓 名: 学 院(系):信息科学与工程学院 专 业 班 级: 指 ...

  3. C语言 扑克牌洗牌发牌统计同花顺个数程序

    目录 一.2个算法关键点 关键点1:洗牌算法 关键点2:查找同花顺算法 二.运行结果 三.完整代码 题目: 一张扑克牌可用结构类型描述,一副扑克牌的52张牌则是一个结构数组. 1.试编写洗牌函数和供4 ...

  4. python给四个人发牌_python小程序之4名牌手洗牌发牌问题解析

    本文为大家解析了python实现4名牌手洗牌发牌的问题,供大家参考,具体内容如下 编写程序, 4名牌手打牌,计算机随机将52张牌(不含大小鬼)发给4名牌手,在屏幕上显示每位牌手的牌.创建函数gen_p ...

  5. 通过程序实现斗地主过程中的洗牌,发牌和看牌(简约版)

    需求:通过程序实现斗地主过程中的洗牌,发牌和看牌 思路: 创建一个牌盒,也就是定义一个集合对象,用ArrayList集合实现 往牌盒里面装牌 洗牌,也就是说把牌打撒,用Collections的shuf ...

  6. Java模拟玩家洗牌发牌小程序

    参考了网上了一些内容,自己实现了一个模拟玩家洗牌.发牌的小程序,若有问题欢迎提出,希望我们可以一起进步.QQ:767696856 (其中洗牌是直接通过集合类中的shuffle实现) package c ...

  7. java集合框架的练习之斗地主洗牌发牌的模拟(升级版)

    首先,奉上java集合框架的练习之斗地主洗牌发牌的模拟(初级版)的链接:http://blog.csdn.net/striner/article/details/78489306 初级版只具有洗牌发牌 ...

  8. 纸牌游戏洗牌发牌排序算法设计

    纸牌游戏洗牌发牌排序算法设计 本文提供纸牌游戏设计制作的基础部分,即洗牌,发牌,牌张排序排列显示的算法. 以及游戏开始时间使用时间的显示.我是用简单的C语言编译器MySpringC在安卓手机上编写的. ...

  9. 模拟扑克牌的洗牌发牌

    在内存中模拟出一副牌,然后模拟洗牌,发牌等动作 流程:构建一副牌保存到一个数组中–>洗牌–>创建玩家–>向玩家发牌–>输出每个玩家的牌 #include <stdio.h ...

  10. Java实现扑克牌的洗牌发牌看牌

    需求: 通过程序实现斗地主过程中的洗牌,发牌和看牌 方法一: 只看到每位用户手中的牌: 思路: 1:创建一个牌盒, 也就是定义一个集合对象,用ArrayList集合实现 2:往牌盒里面装牌 3:洗牌, ...

最新文章

  1. Nginx服务器搭建和基本配置详解
  2. DeepLab v2的摘要部分(翻译加理解)
  3. 波卡链Substrate (7)Grandpa协议四“责任安全机制”
  4. 禁用浏览器缓存Ajax请求
  5. python连接MySQL数据库搭建简易博客
  6. Data-structures-and-algorithms-interview-questions-and-their-solutions
  7. jquery 判断元素可见性
  8. 采用JAVA编写程序实现从文件读取操作
  9. 黑马博客——详细步骤(七)项目功能的实现之文章管理
  10. 论文阅读笔记(二)——Xception
  11. GB28181协议之语音对讲
  12. win10前置耳机插孔没声音_win10头戴式耳机麦克风没声音怎么办
  13. netbsd apache php mysql,NetBSD配置aria2的web前端YAAW笔记
  14. UUID是什么 ?
  15. 如何维持手机电池寿命_如何延长手机电池寿命?总有些事你不知道
  16. JAVA实现用户抽奖包含完整代码
  17. html页面实现打印
  18. 蓝天格锐生命环的使用方法
  19. Android开发实用小工具十一——亲戚称呼计算器
  20. 人生中第一次做面试官的经历与总结

热门文章

  1. 说说知名软件的伪装和防范(下)
  2. vue3仿网易云界面
  3. l2空间的完备性_话说泛函——Hilbert空间
  4. java中23%5_23.5 jumpserver介绍
  5. Excel在统计分析中的应用—第十三章—时间序列分析-季节变动的测定(季节虚拟变量回归法)
  6. 申请计算机助理的英语作文,助理面试英文自我介绍范文(通用5篇)
  7. bbys_tu_2016(ret2text)
  8. 修改注册表为当前用户和默认用户添加日文输入法
  9. 彻底阻止、禁用google chrome浏览器自动更新、升级
  10. Qt QML 模块化管理(三)—— qmldir的化繁为简