问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

用C语言编程把52个牌(除大小王)随机发给四个人,分开花色和大小顺序?

发布网友 发布时间:2024-10-02 19:04

我来回答

2个回答

热心网友 时间:2024-10-19 07:21

#include<stdlib.h> #include<stdio.h> int comp(const void *j,const void *i); void p(int t,int b[],char n[]); int main(void) { static char n[]={'2','3','4','5','6','7','8','9','T','J','Q','K','A'}; int a[53],b1[13],b2[13],b3[13],b4[13]; int b11=0,b22=0,b33=0,b44=0,t=1,m,flag,i; while(t<=52) /*控制发52张牌*/ { m=rand()%52; /*产生0到51之间的随机数*/ for(flag=1,i=1;i<=t&&flag;i++)/*查找新产生的随机数是否已经存在*/ if(m==a[i]) flag=0; /*flag=1:产生的是新的随机数flag=0:新产生的随机数已经存在*/ if(flag) { a[t++]=m; /*如果产生了新的随机数,则存入数组*/ if(t%4==0) b1[b11++]=a[t-1]; /*根据t的模值,判断当前*/ else if(t%4==1) b2[b22++]=a[t-1]; /*的牌应存入哪个数组中*/ else if(t%4==2) b3[b33++]=a[t-1]; else if(t%4==3) b4[b44++]=a[t-1]; } } qsort(b1,13,sizeof(int),comp); /*将每个人的牌进行排序*/ qsort(b2,13,sizeof(int),comp); qsort(b3,13,sizeof(int),comp); qsort(b4,13,sizeof(int),comp); p(1,b1,n); p(2,b2,n); p(3,b3,n); p(4,b4,n); /*分别打印每个人的牌*/ return 0; } void p(int t,int b[],char n[]) { int i; printf("发给第%d个人的牌\n\006 ",t); /*打印黑桃标记*/ for(i=0;i<13;i++) /*将数组中的值转换为相应的花色*/ if(b[i]/13==0) printf("%c ",n[b[i]%13]); /*该花色对应的牌*/ printf("\n\003 "); /*打印红桃标记*/ for(i=0;i<13;i++) if((b[i]/13)==1) printf("%c ",n[b[i]%13]); printf("\n\004 "); /*打印方块标记*/ for(i=0;i<13;i++) if(b[i]/13==2) printf("%c ",n[b[i]%13]); printf("\n\005 "); /*打印梅花标记*/ for(i=0;i<13;i++) if(b[i]/13==3||b[i]/13==4) printf("%c ",n[b[i]%13]); printf("\n"); } int comp(const void *j,const void *i) /*qsort调用的排序函数*/ { return(*(int*)i-*(int*)j); }

热心网友 时间:2024-10-19 07:22

改了哈,这个更好点 #include<stdlib.h> #include<stdio.h> #include <time.h> int comp(const void *j,const void *i); void p(int t,int b[],char n[]); int main(void) { static char n[]={'2','3','4','5','6','7','8','9','T','J','Q','K','A'}; int a[53],b1[13],b2[13],b3[13],b4[13]; int b11=0,b22=0,b33=0,b44=0,t=1,m,flag,i; srand(time(NULL)); while(t<=52) /*控制发52张牌*/ { m=rand()%52; /*产生0到51之间的随机数*/ for(flag=1,i=1;i<=t&&flag;i++)/*查找新产生的随机数是否已经存在*/ if(m==a[i]) flag=0; /*flag=1:产生的是新的随机数flag=0:新产生的随机数已经存在*/ if(flag) { a[t++]=m; /*如果产生了新的随机数,则存入数组*/ if(t%4==0) b1[b11++]=a[t-1]; /*根据t的模值,判断当前*/ else if(t%4==1) b2[b22++]=a[t-1]; /*的牌应存入哪个数组中*/ else if(t%4==2) b3[b33++]=a[t-1]; else if(t%4==3) b4[b44++]=a[t-1]; } } qsort(b1,13,sizeof(int),comp); /*将每个人的牌进行排序*/ qsort(b2,13,sizeof(int),comp); qsort(b3,13,sizeof(int),comp); qsort(b4,13,sizeof(int),comp); p(1,b1,n); p(2,b2,n); p(3,b3,n); p(4,b4,n); /*分别打印每个人的牌*/ return 0; } void p(int t,int b[],char n[]) { int i; printf("发给第%d个人的牌\n\006 ",t); /*打印黑桃标记*/ for(i=0;i<13;i++) /*将数组中的值转换为相应的花色*/ if(b[i]/13==0) printf("%c ",n[b[i]%13]); /*该花色对应的牌*/ printf("\n\003 "); /*打印红桃标记*/ for(i=0;i<13;i++) if((b[i]/13)==1) printf("%c ",n[b[i]%13]); printf("\n\004 "); /*打印方块标记*/ for(i=0;i<13;i++) if(b[i]/13==2) printf("%c ",n[b[i]%13]); printf("\n\005 "); /*打印梅花标记*/ for(i=0;i<13;i++) if(b[i]/13==3||b[i]/13==4) printf("%c ",n[b[i]%13]); printf("\n"); } int comp(const void *j,const void *i) /*qsort调用的排序函数*/ { return(*(int*)i-*(int*)j); }

热心网友 时间:2024-10-19 07:19

#include<stdlib.h> #include<stdio.h> int comp(const void *j,const void *i); void p(int t,int b[],char n[]); int main(void) { static char n[]={'2','3','4','5','6','7','8','9','T','J','Q','K','A'}; int a[53],b1[13],b2[13],b3[13],b4[13]; int b11=0,b22=0,b33=0,b44=0,t=1,m,flag,i; while(t<=52) /*控制发52张牌*/ { m=rand()%52; /*产生0到51之间的随机数*/ for(flag=1,i=1;i<=t&&flag;i++)/*查找新产生的随机数是否已经存在*/ if(m==a[i]) flag=0; /*flag=1:产生的是新的随机数flag=0:新产生的随机数已经存在*/ if(flag) { a[t++]=m; /*如果产生了新的随机数,则存入数组*/ if(t%4==0) b1[b11++]=a[t-1]; /*根据t的模值,判断当前*/ else if(t%4==1) b2[b22++]=a[t-1]; /*的牌应存入哪个数组中*/ else if(t%4==2) b3[b33++]=a[t-1]; else if(t%4==3) b4[b44++]=a[t-1]; } } qsort(b1,13,sizeof(int),comp); /*将每个人的牌进行排序*/ qsort(b2,13,sizeof(int),comp); qsort(b3,13,sizeof(int),comp); qsort(b4,13,sizeof(int),comp); p(1,b1,n); p(2,b2,n); p(3,b3,n); p(4,b4,n); /*分别打印每个人的牌*/ return 0; } void p(int t,int b[],char n[]) { int i; printf("发给第%d个人的牌\n\006 ",t); /*打印黑桃标记*/ for(i=0;i<13;i++) /*将数组中的值转换为相应的花色*/ if(b[i]/13==0) printf("%c ",n[b[i]%13]); /*该花色对应的牌*/ printf("\n\003 "); /*打印红桃标记*/ for(i=0;i<13;i++) if((b[i]/13)==1) printf("%c ",n[b[i]%13]); printf("\n\004 "); /*打印方块标记*/ for(i=0;i<13;i++) if(b[i]/13==2) printf("%c ",n[b[i]%13]); printf("\n\005 "); /*打印梅花标记*/ for(i=0;i<13;i++) if(b[i]/13==3||b[i]/13==4) printf("%c ",n[b[i]%13]); printf("\n"); } int comp(const void *j,const void *i) /*qsort调用的排序函数*/ { return(*(int*)i-*(int*)j); }

热心网友 时间:2024-10-19 07:21

改了哈,这个更好点 #include<stdlib.h> #include<stdio.h> #include <time.h> int comp(const void *j,const void *i); void p(int t,int b[],char n[]); int main(void) { static char n[]={'2','3','4','5','6','7','8','9','T','J','Q','K','A'}; int a[53],b1[13],b2[13],b3[13],b4[13]; int b11=0,b22=0,b33=0,b44=0,t=1,m,flag,i; srand(time(NULL)); while(t<=52) /*控制发52张牌*/ { m=rand()%52; /*产生0到51之间的随机数*/ for(flag=1,i=1;i<=t&&flag;i++)/*查找新产生的随机数是否已经存在*/ if(m==a[i]) flag=0; /*flag=1:产生的是新的随机数flag=0:新产生的随机数已经存在*/ if(flag) { a[t++]=m; /*如果产生了新的随机数,则存入数组*/ if(t%4==0) b1[b11++]=a[t-1]; /*根据t的模值,判断当前*/ else if(t%4==1) b2[b22++]=a[t-1]; /*的牌应存入哪个数组中*/ else if(t%4==2) b3[b33++]=a[t-1]; else if(t%4==3) b4[b44++]=a[t-1]; } } qsort(b1,13,sizeof(int),comp); /*将每个人的牌进行排序*/ qsort(b2,13,sizeof(int),comp); qsort(b3,13,sizeof(int),comp); qsort(b4,13,sizeof(int),comp); p(1,b1,n); p(2,b2,n); p(3,b3,n); p(4,b4,n); /*分别打印每个人的牌*/ return 0; } void p(int t,int b[],char n[]) { int i; printf("发给第%d个人的牌\n\006 ",t); /*打印黑桃标记*/ for(i=0;i<13;i++) /*将数组中的值转换为相应的花色*/ if(b[i]/13==0) printf("%c ",n[b[i]%13]); /*该花色对应的牌*/ printf("\n\003 "); /*打印红桃标记*/ for(i=0;i<13;i++) if((b[i]/13)==1) printf("%c ",n[b[i]%13]); printf("\n\004 "); /*打印方块标记*/ for(i=0;i<13;i++) if(b[i]/13==2) printf("%c ",n[b[i]%13]); printf("\n\005 "); /*打印梅花标记*/ for(i=0;i<13;i++) if(b[i]/13==3||b[i]/13==4) printf("%c ",n[b[i]%13]); printf("\n"); } int comp(const void *j,const void *i) /*qsort调用的排序函数*/ { return(*(int*)i-*(int*)j); }
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
怎样抠取J-net上面KAT-TUN的视频?例如:http://www.johnnys-net.jp/j... 网页视频用什么软件可以连声音一起抠下来?急! 镶嵌在网页里的视频怎么抠出下载,http://edu.canmay.net/app/course/v... ...纪检委来公司查是不是党员,想知道会怎么样? 求一部小时候的动画片,我是90后,好像是主人公黑白的,是狗啊还是啥 一本和点拨哪个好 然气热水器用一个开关可以调节水温吗 ...他们真的好像啊。。。有没有报道他们相象的传闻? 极道鲜师 Ⅰ和Ⅱ的演员名单 ...人没有结果?还有小栗旬演的谁啊?那个黑崎是谁演的? 三诺N-35G参数 三诺N-35G怎么样? 宫院解释 三诺N-35G变压器 三诺N-35G主滤波电容 三诺N-35G(老版)重要参数 30.7除以9的商用循环小数的简便方法表示是3.4?13.4?1. 三诺N-35G箱体 7÷11的商用循环小数表示是___,把商保留两位小数是___,保留三位小数是... 三诺N-35G的设计 哈利波特魔法觉醒最难抽的传说卡是什么 三诺N-35G35G内部电路分析 哈利波特魔法觉醒黑眼圈怎么回事 python代码大全简单? 根据这表格中的描述,我想请问这笔贷款还清了吗,呆账是啥意思,余额为0... 学校标识码如何查询到? 梦见暗红瓢虫 梦见满脸暗红的预兆 怎样查询学校标识码? ...有点白色的好像还有一点点红色的混在一起是什么蛇。它的尾巴好粗... 对孩子说的小学六年级毕业寄语 本田佳颖设计寿命多少公里 五羊本田125佳颖可以跑400公里以上的 长途吗 ?我车刚骑3000多公里_百度... 陈星汉致歉光遇明制帽事件到底发生了什么 陈星汉致歉"光遇明制帽事件" 说了什么? "光遇明制帽事件" 的起因是什么? 哈利波特魔法觉醒伸缩耳怎么得-哈利波特魔法觉醒伸缩耳获取攻略_百度知 ... 哈利波特魔法觉醒伸缩耳怎么获得 获取攻略分享 2024年江苏历史类358分能考上什么大学? 哈利波特魔法觉醒巨螺壳怎么获得 哈利波特魔法觉醒魔器怎么得 魔器获取途径详解 河北考生多少分能上皖北卫生职业学院 哈利波特魔法觉醒每日资源怎么获得-哈利波特魔法觉醒每日资源获取方法详 ... 2024年湖北历史类388分能考上什么大学? 多少分能被云南国土资源职业学院录取 哈利波特魔法觉醒魔器获得攻略 除夕之后是初一打一字 2024年贵州358分能考上什么大学? ...大雁南飞非人宇,方知原来无应点,除夕过后是何天 沈阳市天桥中医院医院简介