| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 640 人关注过本帖
标题:[求助]各位大哥大姐 小弟有困难要求助了
只看楼主 加入收藏
hhhhhh123
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2004-12-23
收藏
 问题点数:0 回复次数:1 
[求助]各位大哥大姐 小弟有困难要求助了

我写了个程序 错误百出 又没改出来 现在急着要用 求求各位大侠帮下忙啊(请在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); }

搜索更多相关主题的帖子: 大姐 困难 
2004-12-26 13:39
hhhhhh123
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2004-12-23
收藏
得分:0 
错了

是在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

2004-12-26 13:44
快速回复:[求助]各位大哥大姐 小弟有困难要求助了
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015181 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved