C语言实现随机发纸牌
C语言实现随机发纸牌
为避免重复发牌,设二维数组sign[4][13]记载是否发过纸牌,其中行下表表示花色,列下标表示点数。设字符串指针数组card[n]存储随机发的n张纸牌,例如card[0] = “梅花2”, 按照以下方法以此发出每一张牌:首先产生一个0~3的随机数i表示花色, 然后在产生一个0~12的随机数j表示点数,如果这张牌尚未发出,则将sign[i][j]置1,并将这张牌存储到card[n]中。C语言代码描述为:
//发纸牌
#include<iostream>
#include<string.h>
#include<time.h>
using namespace std;
char *str1[4] = {"梅花", "黑桃", "红桃", "方块"}; //全局变量存储花色和点数
char *str2[13] = {"2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A"};
char *card[13]; //全局变量存储随机产生的纸牌,假设最多发13张纸牌
//发牌函数
void SendCards(int n) {int i, j, k, sign[4][13] = {0}; //初始化数组标志,所有牌均未发出srand(time(NULL));for(int k = 0; k < n;) {i = rand() % 4; //随机产生花色,一共有4种j = rand() % 13; //随机产生点数,一共有13种if(sign[i][j] == 1) { //表示该牌已经发出continue;} else {card[k] = (char *) malloc(6);strcpy(card[k], str1[i]); //字符串复制函数strcat(card[k], str2[j]); //字符串连接函数sign[i][j] = 1; //标记已经发出该牌k++;}}
}
//打印当前牌面
void PrintCards(int n) {for(int k = 0; k < n; k++) {printf("%-10s", card[k]); //字符串控制符}printf("\n");
}
//主函数
int main() {int n;printf("Please Input the Number of Your Cards: ");scanf("%d", &n);SendCards(n);PrintCards(n);system("pause");return 0;
}
C语言实现随机发纸牌相关推荐
- C语言实现随机抽取纸牌
程序设计要求 本程序负责发一副标准纸牌,每张标准纸牌都有一种花色(梅花.方块.黑桃.红桃)和一个等级(2,3,4,5,6-K,A).程序需要用户指明手机有几张牌. 程序设计流程 1 . 使用库函数和时 ...
- c语言扑克牌随机发三张牌,扑克牌发三张概率组合一副扑克牌52张(不含大、小王),发三张牌,一共多少种组合.另外:1)三张中含一对的组合有多少张?(...
共回答了20个问题采纳率:95% 这个题目我喜欢 所有组合为:C(52,5) 1.A组为三张不关联明牌,组合:52*48*44,与B组二张暗牌组成一个对子.B的组合为:(12-3)*(52-12).概 ...
- R语言构建随机森林模型randomForest分类模型并评估模型在测试集和训练集上的效果(accuray、F1、偏差Deviance):随机森林在Bagging算法的基础上加入了列采样(分枝特征随机)
R语言构建随机森林模型randomForest分类模型并评估模型在测试集和训练集上的效果(accuray.F1.偏差Deviance):随机森林在Bagging算法的基础上加入了列采样(分枝特征随机) ...
- R语言构建随机森林模型错误解决:Error in y - ymean : non-numeric argument to binary operator
R语言构建随机森林模型错误解决:Error in y - ymean : non-numeric argument to binary operator 目录 R语言构建随机森林模型错误解决:Erro ...
- R语言基于随机森林进行特征选择(feature selection)
R语言基于随机森林进行特征选择(feature selection) 目录 R语言基于随机森林进行特征选择(feature selection)
- ML之RF:利用Js语言设计随机森林算法【DT之CART算法(gain index)】并应用随机森林算法
ML之RF:利用Js语言设计随机森林算法[DT之CART算法(gain index)]&并应用随机森林算法 目录 输出结果 设计思路 代码实现(部分代码) 输出结果 设计思路 代码实现(部分代 ...
- 答题小程序 服务器,答题小程序如何实现随机发题目
答题小程序如何实现随机发题目 发布时间:2020-12-11 11:53:36 来源:亿速云 阅读:123 作者:小新 这篇文章主要介绍了答题小程序如何实现随机发题目,具有一定借鉴价值,需要的朋友可以 ...
- 【基于C语言的随机点名器】
基于C语言的随机点名器 [1]C语言->控制台颜色绚丽多彩 [2]C语言-> printf 输出颜色花样百出 [3]C语言-> 随机点名试炼中 [4]C语言-> 随机点名项目实 ...
- SIM71004G模块使用Linux C语言实现打电话发短信
为了方便查看博客,特意申请了一个公众号,附上二维码,有兴趣的朋友可以关注,和我一起讨论学习,一起享受技术,一起成长. 一.实验目的: SIM71004G模块使用Linux C语言实现打电话发短信. 二 ...
最新文章
- arduino 大气气压模块 BOSCH BMP085
- axis2 java客户端内存溢出怎么办_java - Axis2-总是出现404错误 - 堆栈内存溢出
- DAO层使用泛型的两种方式
- jQuery判断checkbox是否选中的3种方法
- Premiere Pro CC2017教程(三)
- 每天一道LeetCode-----给定字符串s和字符数组words,在s中找到words出现的位置,words内部字符串顺序无要求
- postman生成python代码_python代码直接生成可执行exe文件
- 【报告分享】2020年中国快消品行业KOL内容营销报告.pdf(附下载链接)
- 微信小游戏flappy bird填坑
- WebService /php soap 相关调用 收藏
- 如何:从代码创建 UML 类图(ZZ)
- [轉]快速理解VirtualBox的四种网络连接方式
- 用 ASTERISK 搭建自己的免费 VOIP 服务器
- 物联网学习之路——物联网通信技术简介
- MySQL执行多表联查时,报错ln aggregated query without GROUP BY
- qtabwidget设置表头_QTableWidget添加表头菜单 并 可以通过表头菜单隐藏选中列
- 大白菜u盘装系统教程linux,大白菜5.1版 快速U盘装系统综合教程
- PyTorch 深度学习:60分钟快速入门
- 解决HC05蓝牙模块主从配对失败及AT模式设置方案
- 中国神童13岁免试上大学,极端荣耀后却选择出家为僧!
热门文章
- Perl: print @globbing.\n; 和 print @globbing; 不一样,一个已经转换为数组元素个数了...
- xcodebuild构建时报错unknown error -1=ffffffffffffffff Command /bin/sh failed with exit code 1
- tcp/ip,http,socket mysql底层技术原理
- LintCode初级题——fizz buzz
- Windows环境下多线程编程原理与应用读书笔记(8)————信号量及其应用
- ILP32和LP64数据模型
- 路径分析开源工程OpenTripPlaner 概述
- 未与信任 SQL Server 连接相关联
- 要做互联星空的SP接口,一点头绪都没有
- python选择排序 时间复杂度