C/C++学习日记:C语言的随机发牌小程序(红桃、黑桃、梅花、方块)
前言:做一个随机发牌的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语言的随机发牌小程序(红桃、黑桃、梅花、方块)相关推荐
- 随机循环抽奖小程序_c语言,基于JavaScript实现简单的随机抽奖小程序
对于抽奖这样的小程序使用诸如VB,Delphi等工具来实现会比较的方便,由于本人机器上没有装这样的应用程序,所以只能另寻其道.为了使抽奖程序能够无需配置平台直接可以在任何一台机器上运行,开发工具和编译 ...
- c语言洗牌发牌结构体,C语言实现洗牌发牌小程序
本文实例为大家分享了C语言实现洗牌发牌小程序的具体代码,供大家参考,具体内容如下 构建一副扑克牌,并实现洗牌发牌. 代码 #include #include #include #define NUM ...
- 编写一个随机抽奖程序php,基于PHP实现简单的随机抽奖小程序
摘要:一个抽奖小程序,概论可控,也可某个奖品在前端显示,而程序中根本不可能获得!把所有的概率x10后相加起来,新数组中每项的值等于它前几个的和加上它本身.然后随即生成一个0到最大数之间的一个数,通过循 ...
- python 活动随机抽奖小程序 简单直白
开始学习python相关知识,看最近有不少随机抽奖小程序,自己也做一个试试 思路: 建立一个抽奖人名单,可以打乱后直接按顺序取,也可以不打乱随机抽. 建立一个奖项名单,按顺序一个一个抽 将随机化成顺序 ...
- Python wxpython篇 | Python生态库之图形用户界面开发库 “wxPython “ 的安装及使用(附. 使用pyinstaller 库打包Python随机点名小程序程序.exe文件)
全文目录 wxPython 图形用户界面 PyCharm 中安装 wxPython库 PyCharm中将程序打包成 .exe 可执行文件 wxPython 的使用 第一个wxPython 程序 自定义 ...
- 随机点名小程序 tkinter
随机点名小程序 源码见github: https://github.com/linli1724647576/Random_roll_call 问题描述 随机点名程序(越不来上课的人,被点中的概率越高, ...
- 用php制作中奖系统,基于PHP随机抽奖小程序,很简单!
原标题:基于PHP随机抽奖小程序,很简单! 文章来自于:博客 网址:https://blog.csdn.net/shaolong1013/article/details/78763057 一个抽奖小程 ...
- Tkinter模块GUI界面化编程实战(四)——随机点名小程序(含详解及完整源码、完整程序下载链接)
[上期回顾:Tkinter模块GUI界面化编程实战(三)--2048小游戏] 这篇博客介绍了如何用Python Tkinter模块编写一个界面化的随机点名小程序,在博客下面有完整的源码,源码中有超详 ...
- 编写C语言的最简单小程序Hello world和函数使用
编写C语言的最简单小程序Hello world 一.示例一 1.编写demo.c程序 #include<stdio.h> int main() {printf("Hello wo ...
- 夸奖人的C语言小程序,c语言10个经典小程序
[程序1] 题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分析:可填在百位.十位.个位的数字都是1.2.3.4.组成所有的排列后再去 掉不满足条件的排列. ...
最新文章
- 编写高质量代码改善C#程序的157个建议——建议133:用camelCasing命名私有字段和局部变量...
- 王式安概率论与数理统计基础课手写笔记-第一章概率与事件-第二章随机变量及其分布
- 4.5-4.9 磁盘格式化,磁盘挂载,手动增加swap空间
- virtualbox和vagrant卸载脚本在macbook
- 2.1php标签,语法,注释
- iperf测试带宽linux,iperf3-网络带宽性能测试工具
- DC、HDC和CDC的区别及MFC常见类的作用
- 赤峰中考计算机考试软件,2017赤峰中考信息技术与实验操作考试实施细则
- 安装VMware虚拟机及镜像文件
- android 浏览器内核 内存占用,移动浏览器的四大内核
- js设计模式之命令模式
- 我所理解的网络游戏一:网游的顶层设计
- GitHub+JenKins集成Python自动化测试脚本
- linux yield_通俗易懂的了解——Linux线程模型和线程切换
- 安装小豚当家监控摄像头
- C++编程-牛客网-逛街
- HSY 点餐(数论)
- 【ACWing】2135. 马步距离(配数学证明)
- 软件测试面试题及答案,不给答案的面试题都是耍流氓
- 美容仪应该怎么挑选和正确使用方法经验
热门文章
- 免费网课python_Python网课推荐——免费学习Python编程
- 关于微信公众号和小程序开发杂谈~快速认证小程序
- 02、PMI点互信息 PPMI(Positive PMI)
- 基于广度优先搜索的六度空间理论的验证
- cmake:cmake_minimum_required命令
- 软件人员kpi制定模板_最常用5大绩效工具(附模板):OKR、KPI、MBO、平衡计分卡、360度...
- 银行卡收单相关文章汇集
- postman安装报错 无法定位_Postman中文版
- 搜索引擎背后的经典数据结构和算法
- linux下打字软件,桌面应用|与 Linux 一起学习:学习打字