模拟人工洗牌。编写一个模拟人工洗牌的程序,讲洗好的牌分别发给四个人。
**输出格式要求:"\nNo.%d:" " %c%2d,"
为便于机器评分,假设随机数的种子为1.即srand(1);然后再调用 rand()函数,即可得到与测试用例相同的随机数序列。
基本思路:
1、先将牌的初始化为:
struct card deck[]={
{1,‘C’},{2,‘C’},{3,‘C’},{4,‘C’},{5,‘C’},{6,‘C’},{7,‘C’},
{8,‘C’},{9,‘C’},{10,‘C’},{11,‘C’},{12,‘C’},{13,‘C’},
{1,‘D’},{2,‘D’},{3,‘D’},{4,‘D’},{5,‘D’},{6,‘D’},{7,‘D’},
{8,‘D’},{9,‘D’},{10,‘D’},{11,‘D’},{12,‘D’},{13,‘D’},
{1,‘H’},{2,‘H’},{3,‘H’},{4,‘H’},{5,‘H’},{6,‘H’},{7,‘H’},
{8,‘H’},{9,‘H’},{10,‘H’},{11,‘H’},{12,‘H’},{13,‘H’},
{1,‘S’},{2,‘S’},{3,‘S’},{4,‘S’},{5,‘S’},{6,‘S’},{7,‘S’},
{8,‘S’},{9,‘S’},{10,‘S’},{11,‘S’},{12,‘S’},{13,‘S’},
};
2、随机选择两张牌(调用rand函数。为便于机器评分,假设随机数的种子为1.即srand(1);然后再调用 rand()函数,即可得到与测试用例相同的随机数序列。)交换两张牌。
3、输出交换52次(洗牌)以后的牌。前13张发给第1个人,然后,再13张发给第2个人,。。。

程序运行结果如下:
No.1: C 9, D10, C10, D 5, D 8, D13, H 5, H 1, C 5, D 7, D 1, C11,
No.2: C13, S12, C12, H10, D 2, H 3, S 9, S 6, S 4, S11, C 4, H13,
No.3: S10, H12, D 4, S 1, C 7, S 2, S 8, D 3, H 2, D 9, C 2, H11,
No.4: S13, C 6, S 5, H 9, S 7, C 3, D12, D11, D 6, H 8, C 1, H 7,

#include <stdio.h>
#include <stdlib.h>
struct card
{  int pips;char suit;
} ;
struct card deck[]={  {1,'C'},{2,'C'},{3,'C'},{4,'C'},{5,'C'},{6,'C'},{7,'C'},{8,'C'},{9,'C'},{10,'C'},{11,'C'},{12,'C'},{13,'C'},{1,'D'},{2,'D'},{3,'D'},{4,'D'},{5,'D'},{6,'D'},{7,'D'},{8,'D'},{9,'D'},{10,'D'},{11,'D'},{12,'D'},{13,'D'},{1,'H'},{2,'H'},{3,'H'},{4,'H'},{5,'H'},{6,'H'},{7,'H'},{8,'H'},{9,'H'},{10,'H'},{11,'H'},{12,'H'},{13,'H'},{1,'S'},{2,'S'},{3,'S'},{4,'S'},{5,'S'},{6,'S'},{7,'S'},{8,'S'},{9,'S'},{10,'S'},{11,'S'},{12,'S'},{13,'S'},};shuffle(deck)struct card deck[];{  int i,j;srand(1);for(i=0;i<52;i++){  j=rand()%52;swapcard(&deck[i],&deck[j]);}}swapcard(p,q)struct card *p,*q;{  struct card temp;temp=*p;*p=*q;*q=temp;}main(){  int i;shuffle(deck);for(i=0;i<52;i++)if(i%13==0)printf("\nNo.%d:",i/13+1);elseprintf(" %c%2d,",deck[i].suit,deck[i].pips);}

模拟人工洗牌。编写一个模拟人工洗牌的程序,讲洗好的牌分别发给四个人。(c语言)相关推荐

  1. 编写一个帮助小学生练习数学的程序,帮助小学生练习 100 以内的四种数学运算:加、减、乘、除。

    [基本要求] a) 程序应先询问用户的 ID 号(ID 号包括两个大写字母和 4 位数字),例如: 请输入用户 ID 号 : AB1234 程序应对输入的 ID 号验证,符合 ID 号要求的格式,然后 ...

  2. 编写一个模拟超市购物程序。

    编写一个模拟超市购物程序.购物时,如果购物者要购买的商品在超市中有,则提示"购物者买到了某商品":如果没有所需的商品,则提示"购物者所需某商品无货". impo ...

  3. 左右植树java_Plant 模拟植树活动,编写一个java应用程序 联合开发网 - pudn.com

    Plant 所属分类:Java编程 开发工具:Java 文件大小:1KB 下载次数:3 上传日期:2011-03-20 17:42:26 上 传 者:大宝 说明:  模拟植树活动,编写一个java应用 ...

  4. 编写一个模拟航空客运定票系统的程序

    原文地址:编写一个模拟航空客运定票系统的程序作者:木木女 实习报告 题目:2.7 编写一个模拟航空客运定票系统的程序 班级: 姓名: 学号:完成日期: 一.  需求分析: 1.     程序需要模拟航 ...

  5. 用C语言编写一个Linux下的简单shell程序

    这是一个简单的C程序,展示了如何进行系统调用执行logout cd ls pwd pid rm mkdir mv cp等命令,这是一个简单的命令解释程序shell,其源代码如下: #include & ...

  6. 编写一个有两个线程的程序, 第一个线程用来计算2~100000之间的素数的个数, 第二个线程用来计算100000~200000之间的素数的个数,最后输出结果

    编写一个有两个线程的程序, 第一个线程用来计算2-100000之间的素数的个数, 第二个线程用来计算100000-200000之间的素数的个数,最后输出结果 @author Chen HuiHong ...

  7. java编写一个圆环类Ring_编写一个圆环类ring的java程序

    <编写一个圆环类ring的java程序>由会员分享,可在线阅读,更多相关<编写一个圆环类ring的java程序(1页珍藏版)>请在金锄头文库上搜索. 1.编写一个圆环类 Rin ...

  8. c语言编写一个成绩等级的程序,c语言作业 编写一个输出学生成绩等级的程序

    问题描述: c语言作业 编写一个输出学生成绩等级的程序 1.能够使用if else语句实现. 2.多分支结构的正确使用. 3.能够使用switch case语句实现. 4.正确使用break语句 5. ...

  9. CDR插件开发之Addon插件002 - 用1分钟编写一个可双击运行的EXE程序

    本文演示了通过VS快速创建一个简单的C#编写的EXE程序,讲解演示了VisualStudio中不同的项目类型,介绍了Debug模式.Relase模式的区别. 如果你更喜欢观看视频教程,请点击下方链接查 ...

最新文章

  1. linux更换网卡不识别_详解Linux双网卡绑定脚本的方法示例
  2. Python3算法基础练习:编程100例(11 ~ 15)
  3. 为什么Node约定,回调函数的第一个参数必须是err(如果没有错误该参数就是null)?...
  4. 一篇文章彻底明白Hive数据存储的各种模式
  5. android elevation 白色,Android Elevation
  6. NOIP2018-普及总结
  7. 最近失业,不知道干什么好,随便乱写,无内容。
  8. 格式小结 html 0926
  9. wordpress函数技巧
  10. java 对象地址_如何获取Java对象的地址?
  11. python3.6和2.7的区别_Python2.7与3.6的一些区别
  12. KVM/QEMU桥接网络设置[zz]
  13. 货币代码无法进行ALE通信
  14. GB28181协议之语音对讲
  15. RESTClient 使用,一个小巧方便的插件
  16. 人脸预处理:人脸检测+人脸对齐
  17. 【CPU设计实战】简单流水线CPU设计
  18. HDU--2015-TO-2019--假期实在是太无聊了....
  19. 小波阈值去噪c语言程序,小波阈值去噪MATLAB程序
  20. Java中的冒泡排序,Comparator接口和Comparable接口的简单使用

热门文章

  1. 电路仿真软件详谈(28),如何在印刷电路板中应用proteus电路仿真软件
  2. 进店率、提袋率、客单价
  3. 夜光 :AGV 导航策略总体方案设计
  4. 如何用数据分析的概念制作简单Excel报表?
  5. 追踪系统分模块解析(Understanding and Diagnosing Visual Tracking Systems)
  6. 手机端网页尺寸html,手机端网页设计尺寸_html/css_WEB-ITnose
  7. 北京军区技侦局_校庆70周年系列学术活动之六:
  8. 华为防火墙设置安全策略,封禁高危异常ip
  9. 豆瓣的开发语言:无所不能的python
  10. java怎么对数组中数据进行降序排序?