编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛  
 
全能 ASP / PHP / ASP.NET 主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
发新话题
打印

[求助]各位大哥大姐 小弟有困难要求助了

[求助]各位大哥大姐 小弟有困难要求助了

我写了个程序 错误百出 又没改出来 现在急着要用 求求各位大侠帮下忙啊(请在12月18号早上8点前回复)#include<stdio.h> #include<stdlib.h> #include<time.h> int randnum(int n);/*随机数产生函数*/ void shuffle(int deck[][13]);/*洗牌函数原形*/ void deal(const char * [],const char * [],const int [][13]);/*发牌函数原形*/ void main () { char * suit[4]={"Hearts","blocks","spides","clubs"}; char * face[13]={"A","2","3","4","5","6","7","8","9","10","J","Q","K"}; int deck[4][13]={0};/*原始4*13的数组*/ int i,j; shuffle(deck); deal(suit,face,deck); }

void shuffle(int deck[4][13])/*每次产生一个随机的行和列,如果他们对应的数组值不为零,则把发牌序号赋给它*/ {for(int card=1;card<=52;card++)/*循环52次,52个发牌序号*/ {int row=randnum(3); int line=randnum(12); while(deck[row][line]!=0) { row=randnum(3); line=randnum(12); } deck[row][line]=card; } }

void deal(const char * suit,const char * face,const int deck[][13]) { for(int card=1;card<=52;card++) for(int i=0;i<4;i++) for(int j=0;j<13;j++) {if(deck[i][j]==card) printf("%s""of""%s",face[i], suit[j]); if(card%4==0) printf("\n");} }

int randnum(int n) { srand(time(NULL));//be careful,here must be NULL but not null return rand()%(n+1); }

TOP

错了

是在12月28号早上8点前回复 希望各位大侠帮下忙啊

这个程序的要求是这样的:大概是这样的,这个程序是排序,也就是将52张扑克排随机抽取13张扑克排,按花色不同从大到小排列,其中H表示红心,D表示方块,C为梅花,S为黑桃, 首先要初始化一个数组里面包含52个元素,也就是52张牌了, 第二步就是洗牌,就是将52张牌的顺序打乱 第三步呢,是抓牌了,随机出现13张牌,注意思路是4个人,一人一张的给,只要求得到一组就好了 第四步是将上面的13张牌用另外的数组放着 第五步是排序,具体是S.H.D.C.其中牌面的大小是按A, K, Q, J, 10, 9, 8, 7, 6, 5, 4, 3, 2 第六步是把这13张牌显示在屏幕上. 下面的这个就是所要求的格式了 AS 6S AH 10H 7H 4H KD 8D 5D 4D 3D 2D AC

TOP

发新话题