ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

扑克洗牌

2019-06-02 20:52:05  阅读:176  来源: 互联网

标签:13 int 洗牌 break num printf 扑克 data


冒泡:
bubbleSort(void* data[],int n, int (*cmpPro)(void* ,void*))
{
void *temp=NULL;
for(int i=0;i<n-1;i++)
for(int j=0;j<n-i-1;j++)
{
if(( cmpPro(data[j],data[j+1]))>1)
temp=data[j];
data[j] = data[j+1;
data[j+1] = temp;
}

}

关联容器: map multimap set multiset
非关联容器: list vector deque

什么是回调函数:
回调函数就是一个通过函数指针调用的函数。
回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。
扑克牌洗牌
#include<time.h>
#include <stdlib.h>


int main(){
int a[4][13],d,i,j,m,num=0,b[52]={0};
srand(time(NULL));//种种子
for(i=0;i<4;i++)
{
for(j=0;j<13;j++)
{
a[i][j]=j+1;
}
}//初始化数组
for(int i=0;i<4;i++)
{
for(int j=0;j<13;j++)
printf("%d\t",a[i][j]);

}
for(;num<=52;) //洗牌
{
d=rand()%52; //随机一个数
for(m=0;m<num;m++) //除重
{ //6 num =0
if(d==b[m])
{
break;
}
}
if(m==num) //数组随机
{
b[num]=d; //把52个把52不同的随机数放入数组
printf("****%d\n",b[num]);
switch(d/13) //打印花色
{
case 0:printf("红桃");break;
case 1:printf("方块");break;
case 2:printf("草花");break;
case 3:printf("黑桃");break;
}
num++;
printf("%2d\%c",a[d/13][d%13],num%13==0 && num!=0?'\n':' '); //
}

}

return 0;
}
}

标签:13,int,洗牌,break,num,printf,扑克,data
来源: https://www.cnblogs.com/countryboy666/p/10964262.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有