c语言程序发牌急用,c语言纸牌发牌程序源代码(附注释)

#include<stdio.h>#include<math.h>#include<time.h>/*定义输出与数组下标不一致的排符*/voidprint(intt){inta=t%13;switch(a){case1:printf("2");break;case2:printf("A");break;case3:printf("K");break;case4:printf("Q");break;case5:printf("J");break;case6:printf("10");break;case0:printf("3");break;default:printf("%d",16-a);}}voidmain(){/*定义存储每张牌的点数和花色*/structzhangxiao{intp;intr;intflag;}pai[52],num;inti,j,k;chara[4]={'\005','\004','\006','\003'};srand((unsigned)time(NULL));for(i=0;i<=51;i++){pai[i].p=i+1;pai[i].r=rand();pai[i].flag=0;}/*根据点数排序*/for(i=0;i<=51;i++)for(j=i+1;j<=51;j++)if(pai[i].r>pai[j].r){num=pai[i];pai[i]=pai[j];pai[j]=num;}/*根据花色排序*/for(i=0;i<=3;i++)for(j=i*13;j<=i*13+12;j++)for(k=j+1;k<=i*13+12;k++)if(pai[j].p>pai[k].p){num=pai[k];pai[k]=pai[j];pai[j]=num;}/*控制输出对齐*/printf("\n");printf("");for(i=0;i<=3;i++){for(k=1;k<=4;k++){printf("%c",a[k-1]);for(j=i*13;j<=i*13+12;j++)if(pai[j].p>=(k-1)*13+1&&pai[j].p<=(k-1)*13+12+1&&pai[j].flag==0){print(pai[j].p);pai[j].flag=1;}}if(i==0)printf("\n\n\n");if(i==1)printf("");if(i==2){printf("\n\n\n");printf("");}if(i==3)printf("\n");}}

阅读全文 >

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值