C语言怎么实现发牌洗牌
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,本文小编为大家详细介绍"C语言怎么实现发牌洗牌",内容详细,步骤清晰,细节处理妥当,希望这篇"C语言怎么实现发牌洗牌"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1.模拟发
千家信息网最后更新 2025年11月07日C语言怎么实现发牌洗牌
本文小编为大家详细介绍"C语言怎么实现发牌洗牌",内容详细,步骤清晰,细节处理妥当,希望这篇"C语言怎么实现发牌洗牌"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
1.模拟发牌程序
通过写两个函数模块来编写洗牌程序和打印的发牌程序
2.编写洗牌程序
void shuffle(char cards[][10],int n){ int i=54; char ca,cb,ct[10]; srand((unsigned)time(NULL)); while(i--){ ca=rand()%54; cb=rand()%54; strcpy(ct,cards[ca]); strcpy(cards[ca],cards[cb]); strcpy(cards[cb],ct); } }3.编写打印的发牌程序
void printCard(char cards[][10],int n){ int i,rn=0; printf("第一个人:\n"); for(i=0;i<17;i++){ if(rn%5==0) printf("\n"); rn++; printf("%s ",cards[i]); } printf("\n\n第二个人:\n"); rn=0; for(i=17;i<33;i++){ if(rn%5==0) printf("\n"); rn++; printf("%s ",cards[i]); } printf("\n\n第三个人:\n"); rn=0; for(i=33;i<50;i++){ if(rn%5==0) printf("\n"); rn++; printf("%s ",cards[i]); } printf("\n\n底牌:\n"); for(i=51;i<54;i++){ printf("%s ",cards[i]); } printf("\n"); getchar();}4.在主函数预定义和调用
main(){ system("color 0f"); char cards[][10]={ "红桃 2","红桃 3","红桃 4","红桃 5","红桃 6","红桃 7","红桃 8","红桃 9","红桃 10","红桃 J","红桃 Q","红桃 K","红桃 A", "方块 2","方块 3","方块 4","方块 5","方块 6","方块 7","方块 8","方块 9","方块 10","方块 J","方块 Q","方块 K","方块 A", "梅花 2","梅花 3","梅花 4","梅花 5","梅花 6","梅花 7","梅花 8","梅花 9","梅花 10","梅花 J","梅花 Q","梅花 K","梅花 A", "黑桃 2","黑桃 3","黑桃 4","黑桃 5","黑桃 6","黑桃 7","黑桃 8","黑桃 9","黑桃 10","黑桃 J","黑桃 Q","黑桃 K","黑桃 A", "大王","小王" }; int n = 54; shuffle(cards,n); printCard( cards, n); return 0;}5.最终程序
#include#include #include #include void shuffle(char cards[][10],int n);void printCard(char cards[][10],int n);main(){ system("color 0f"); char cards[][10]={ "红桃 2","红桃 3","红桃 4","红桃 5","红桃 6","红桃 7","红桃 8","红桃 9","红桃 10","红桃 J","红桃 Q","红桃 K","红桃 A", "方块 2","方块 3","方块 4","方块 5","方块 6","方块 7","方块 8","方块 9","方块 10","方块 J","方块 Q","方块 K","方块 A", "梅花 2","梅花 3","梅花 4","梅花 5","梅花 6","梅花 7","梅花 8","梅花 9","梅花 10","梅花 J","梅花 Q","梅花 K","梅花 A", "黑桃 2","黑桃 3","黑桃 4","黑桃 5","黑桃 6","黑桃 7","黑桃 8","黑桃 9","黑桃 10","黑桃 J","黑桃 Q","黑桃 K","黑桃 A", "大王","小王" }; int n = 54; shuffle(cards,n); printCard( cards, n); return 0;}void shuffle(char cards[][10],int n){ int i=54; char ca,cb,ct[10]; srand((unsigned)time(NULL)); while(i--){ ca=rand()%54; cb=rand()%54; strcpy(ct,cards[ca]); strcpy(cards[ca],cards[cb]); strcpy(cards[cb],ct); } }void printCard(char cards[][10],int n){ int i,rn=0; printf("第一个人:\n"); for(i=0;i<17;i++){ if(rn%5==0) printf("\n"); rn++; printf("%s ",cards[i]); } printf("\n\n第二个人:\n"); rn=0; for(i=17;i<33;i++){ if(rn%5==0) printf("\n"); rn++; printf("%s ",cards[i]); } printf("\n\n第三个人:\n"); rn=0; for(i=33;i<50;i++){ if(rn%5==0) printf("\n"); rn++; printf("%s ",cards[i]); } printf("\n\n底牌:\n"); for(i=51;i<54;i++){ printf("%s ",cards[i]); } printf("\n"); getchar();}
6.1程序结果
6.2
读到这里,这篇"C语言怎么实现发牌洗牌"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。
方块
梅花
黑桃
红桃
程序
个人
语言
文章
内容
函数
大王
底牌
小王
二个人
妥当
两个
思路
新知
更多
模块
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
计算机网络技术是拉网线嘛
北京掌上通网络技术股份有
揭阳无线软件开发厂家直销
数据库审批工具
数据库原理与技术的课程设计
家教管理系统程序代码数据库
黑魂服务器维护可以单机吗
freepbx 软件开发
dhcp服务器搭建内网oa
电大有计算机网络技术本科吗
网络安全任务等级
数据库系统工程师证件照
南京米云互联网科技有限公司
南京市网络安全处处长
铁路网络安全会议讲话稿
国内知名网络技术公司
公司网络安全准入控制系统推荐
聊天软件开发服务价格
维护网络安全宣誓词
数据库技术及应用考试答案
中国网络安全检查小组组长
查询疾病靶点数据库
游戏出现安全连接到服务器
利用数组输入数据库
长春软件开发培训班学费
开源java数据库连接工具
软件开发绩效考核多久一次
3级数据库技术值钱吗
财务数据库满了
多少年不得从事网络安全管理和