C语言发牌系统
来源:互联网 发布:字体秀秀软件 编辑:程序博客网 时间:2024/05/02 00:50
一、//1副牌4个人玩(没有大小王)
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void main()
{
int i,j,k,r,temp;
int a[52],e[13],s[13],w[13],n[13];
void f(int b[],int n);
srand(time(NULL));//一时间作为种子获取随机数
for(i=0;i<52;i++)
{
a[i]=i;
}
for(i=0;i<1000;i++)//洗牌过程,使用的方法是:将52张牌中任意两排进行交换,是此过程进行1000次,这副牌的顺序将被打乱,洗牌过程完成
{
j=rand()%52;//rand()%n即可获得由0————(n-1)此范围内的随机数(有多少张牌n就取多少)
k=rand()%52;
temp=a[j];
a[j]=a[k];
a[k]=temp;
}
printf("S代表黑桃(spade),H代表红桃(heart),D代表方块(diamond),C代表梅花(club)/n");
for(i=0;i<13;i++)//发牌过程,采用的方法是:每次每人拿一张牌,循环13次,每人拥有13张牌
{
e[i]=a[4*i];
s[i]=a[4*i+1];
w[i]=a[4*i+2];
n[i]=a[4*i+3];
}
printf("东家的牌是:");
f(e,13);//调用函数f,函数f主要是将每个玩家的牌按黑桃--红桃--方块--梅花,的顺序排放,并且每个花色内部是按A--2(即由大到小的顺序存放)
printf("/n");
printf("南家的牌是:");
f(s,13);
printf("/n");
printf("西家的牌是:");
f(w,13);
printf("/n");
printf("北家的牌是:");
f(n,13);
printf("/n");
}
void f(int b[],int m)
{
int x,y,ten;
for(x=0;x<12;x++)
{
for(y=x+1;y<13;y++)
{
if(b[x]>b[y])
{ ten=b[x];
b[x]=b[y];
b[y]=ten;
}
}
}
for(x=0;x<13;x++)
{
switch(b[x]%13)
{
case 0: printf("A");break;
case 1: printf("K");break;
case 2: printf("Q");break;
case 3: printf("J");break;
case 4: printf("10");break;
case 5: printf("9");break;
case 6: printf("8");break;
case 7: printf("7");break;
case 8: printf("6");break;
case 9: printf("5");break;
case 10: printf("4");break;
case 11: printf("3");break;
case 12: printf("2");break;
}
switch(b[x]/13)
{
case 0: printf("S");break;
case 1: printf("H");break;
case 2: printf("D");break;
case 3: printf("C");break;
}
if (x<12) printf(",");//前12张牌输出后面都带有逗号
}
}
- C语言发牌系统
- C语言发牌程序
- C语言随机发牌
- 魔术师发牌问题 C语言
- 用 c 语言实现自动发牌
- C语言:斗地主发牌程序
- 在linux下用C语言编写发牌程序
- 【C语言】实现随机发牌(不带大王和小王)
- C语言工资管理系统
- C语言公交查询系统
- C语言银行系统
- C语言考试系统
- 系统学习C语言
- C语言系统编程
- C语言系统时间
- C语言通讯录系统
- 魔术师发牌问题GO语言实现
- 用c写的桥牌发牌代码
- VS2008技巧
- 2010 Qt开发者大会参会总结
- 基于MINA框架快速开发网络应用程序
- jinfo命令
- JAVA归并排序算法
- C语言发牌系统
- 一种低功耗触摸按键应用的设计方法
- 真是亲兄弟
- red5小记
- 节约----用纸
- 《程序员的自我修养》读后感
- RTMP,两次握手
- 正则表达式与网页分析
- Office 2007 多级标题自动编号