前言:做一个随机发牌的C语言程序,供大家学习,思考。未做任何注释,有测试时候留下的一些输出语句,一遍方便测试。

#include<stdio.h>

#include<stdlib.h>

#include<time.h>

int main()

{

int a[60];

int b[60];

int w = 0;

int wi,wj,wii;

int i,j,index,x=0,m;

for(i=0;i<54;i++)

a[i]=i+1;

srand((unsigned)time(0));

for(i=0;i<54;)

{

index=rand()%54;

if(a[index]!=0)

{

b[i]=a[index];

//printf("%d ",b[i]);

a[index]=0;

++i;

}

}

printf("\n说明:\n");

printf("*******************\n");

printf("**    红桃 %c    ",3);

printf("**\n");

printf("**    方块 %c    ",4);

printf("**\n");

printf("**    梅花 %c    ",5);

printf("**\n");

printf("**    黑桃 %c    ",6);

printf("**\n");

printf("**    大王 A    **\n**    小王 a    **\n");

printf("*******************\n");

printf("\n请输入打牌人数:\n");

scanf("%d",&w);

wi = 54/w;

wj = 54%w;

//printf("%d,%d",wi,wj);

for (j = 0;j < w;j++)

{

m = 0;

printf("\n\n第%d个人的牌\n",j+1);

wj --;

if (wj>=0)

wii = wi + 1;

else

wii = wi;

//红桃

printf("红桃 %c ",3);

printf(":");

for(i = j*wii;i<(j+1)*wii;i++)

{

if (b[i]<=13&&b[i]>0)

{

m++;

if (b[i]==11)

printf("J ");

else if (b[i]==12)

printf("Q ");

else if (b[i]==13)

printf("K ");

else

printf("%d ",b[i]);

}

}

//方块

printf("\n方块 %c ",4);

printf(":");

for(i = j*wii;i<(j+1)*wii;i++)

{

if (b[i]<=26&&b[i]>13)

{

m++;

b[i] = b[i]-13;

if (b[i]==11)

printf("J ");

else if (b[i]==12)

printf("Q ");

else if (b[i]==13)

printf("K ");

else

printf("%d ",b[i]);

}

}

//梅花

printf("\n梅花 %c ",5);

printf(":");

for(i = j*wii;i<(j+1)*wii;i++)

{

if (b[i]<=39&&b[i]>26)

{

m++;

b[i] = b[i]-26;

if (b[i]==11)

printf("J ");

else if (b[i]==12)

printf("Q ");

else if (b[i]==13)

printf("K ");

else

printf("%d ",b[i]);

}

}

//黑桃

printf("\n黑桃 %c ",6);

printf(":");

for(i = j*wii;i<(j+1)*wii;i++)

{

if (b[i]<=52&&b[i]>39)

{

m++;

b[i] = b[i]-39;

if (b[i]==11)

printf("J ");

else if (b[i]==12)

printf("Q ");

else if (b[i]==13)

printf("K ");

else

printf("%d ",b[i]);

}

}

//大小王

printf("\n大小王 A or a :");

for(i = j*wii;i<=(j+1)*wii;i++)

{

if (b[i]==53)

{

m++;

printf("A ");

}

if (b[i]==54)

{

m++;

printf("a ");

}

}

printf("\n总共:%d张牌!!!",m);

}

}

测试结果,由于屏幕显示有限,我只做2个人分牌的测试,其他的自己测试吧

PS:想查看更多资料请加入我的企鹅圈,更有免费开源项目和课程等你观看哦!

C/C++学习日记:C语言的随机发牌小程序(红桃、黑桃、梅花、方块)相关推荐

  1. 随机循环抽奖小程序_c语言,基于JavaScript实现简单的随机抽奖小程序

    对于抽奖这样的小程序使用诸如VB,Delphi等工具来实现会比较的方便,由于本人机器上没有装这样的应用程序,所以只能另寻其道.为了使抽奖程序能够无需配置平台直接可以在任何一台机器上运行,开发工具和编译 ...

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

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

  3. 编写一个随机抽奖程序php,基于PHP实现简单的随机抽奖小程序

    摘要:一个抽奖小程序,概论可控,也可某个奖品在前端显示,而程序中根本不可能获得!把所有的概率x10后相加起来,新数组中每项的值等于它前几个的和加上它本身.然后随即生成一个0到最大数之间的一个数,通过循 ...

  4. python 活动随机抽奖小程序 简单直白

    开始学习python相关知识,看最近有不少随机抽奖小程序,自己也做一个试试 思路: 建立一个抽奖人名单,可以打乱后直接按顺序取,也可以不打乱随机抽. 建立一个奖项名单,按顺序一个一个抽 将随机化成顺序 ...

  5. Python wxpython篇 | Python生态库之图形用户界面开发库 “wxPython “ 的安装及使用(附. 使用pyinstaller 库打包Python随机点名小程序程序.exe文件)

    全文目录 wxPython 图形用户界面 PyCharm 中安装 wxPython库 PyCharm中将程序打包成 .exe 可执行文件 wxPython 的使用 第一个wxPython 程序 自定义 ...

  6. 随机点名小程序 tkinter

    随机点名小程序 源码见github: https://github.com/linli1724647576/Random_roll_call 问题描述 随机点名程序(越不来上课的人,被点中的概率越高, ...

  7. 用php制作中奖系统,基于PHP随机抽奖小程序,很简单!

    原标题:基于PHP随机抽奖小程序,很简单! 文章来自于:博客 网址:https://blog.csdn.net/shaolong1013/article/details/78763057 一个抽奖小程 ...

  8. Tkinter模块GUI界面化编程实战(四)——随机点名小程序(含详解及完整源码、完整程序下载链接)

    [上期回顾:Tkinter模块GUI界面化编程实战(三)--2048小游戏]  这篇博客介绍了如何用Python Tkinter模块编写一个界面化的随机点名小程序,在博客下面有完整的源码,源码中有超详 ...

  9. 编写C语言的最简单小程序Hello world和函数使用

    编写C语言的最简单小程序Hello world 一.示例一 1.编写demo.c程序 #include<stdio.h> int main() {printf("Hello wo ...

  10. 夸奖人的C语言小程序,c语言10个经典小程序

    [程序1] 题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分析:可填在百位.十位.个位的数字都是1.2.3.4.组成所有的排列后再去 掉不满足条件的排列. ...

最新文章

  1. 编写高质量代码改善C#程序的157个建议——建议133:用camelCasing命名私有字段和局部变量...
  2. 王式安概率论与数理统计基础课手写笔记-第一章概率与事件-第二章随机变量及其分布
  3. 4.5-4.9 磁盘格式化,磁盘挂载,手动增加swap空间
  4. virtualbox和vagrant卸载脚本在macbook
  5. 2.1php标签,语法,注释
  6. iperf测试带宽linux,iperf3-网络带宽性能测试工具
  7. DC、HDC和CDC的区别及MFC常见类的作用
  8. 赤峰中考计算机考试软件,2017赤峰中考信息技术与实验操作考试实施细则
  9. 安装VMware虚拟机及镜像文件
  10. android 浏览器内核 内存占用,移动浏览器的四大内核
  11. js设计模式之命令模式
  12. 我所理解的网络游戏一:网游的顶层设计
  13. GitHub+JenKins集成Python自动化测试脚本
  14. linux yield_通俗易懂的了解——Linux线程模型和线程切换
  15. 安装小豚当家监控摄像头
  16. C++编程-牛客网-逛街
  17. HSY 点餐(数论)
  18. 【ACWing】2135. 马步距离(配数学证明)
  19. 软件测试面试题及答案,不给答案的面试题都是耍流氓
  20. 美容仪应该怎么挑选和正确使用方法经验

热门文章

  1. 免费网课python_Python网课推荐——免费学习Python编程
  2. 关于微信公众号和小程序开发杂谈~快速认证小程序
  3. 02、PMI点互信息 PPMI(Positive PMI)
  4. 基于广度优先搜索的六度空间理论的验证
  5. cmake:cmake_minimum_required命令
  6. 软件人员kpi制定模板_最常用5大绩效工具(附模板):OKR、KPI、MBO、平衡计分卡、360度...
  7. 银行卡收单相关文章汇集
  8. postman安装报错 无法定位_Postman中文版
  9. 搜索引擎背后的经典数据结构和算法
  10. linux下打字软件,桌面应用|与 Linux 一起学习:学习打字