跪求自动发牌(104张牌随机发给4人)程序C++源代码

 我来答
百度网友d127579
2008-03-31 · TA获得超过1663个赞
知道小有建树答主
回答量:634
采纳率:0%
帮助的人:0
展开全部
#include <stdio.h>
#include <stdlib.h>

void main()
{
int pai[104];
int ren[4][26];
int i,j;
int temp;

randomize();

for(i=0; i<=103; i++)
pai[i]=i; /* 初始化 pai */

for(i=0; i<=103; i++)
{
j=rand()%104;
temp=pai[i];
pai[i]=pai[j];
pai[j]=temp;
} /* 洗 pai */

for(i=0; i<=103; i++)
ren[i/4][i%26]=pai[i]; /* 发 pai */
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Nick_Jiang
2008-03-31 · TA获得超过293个赞
知道答主
回答量:144
采纳率:0%
帮助的人:45.5万
展开全部
使用随机函数没错,但要确保随机函数没有重复才是重点!
首先产生的随机数是0或1,所以设置一个随机函数,使之产生一个随机的返回值,其范围在1~104之间;
其次保证没有重复的随机函数返回值,设置一个数组存储返回值,随机函数返回值在存储前先与该数组作比较,如果相同则再次运行随机函数,直到1~104全部产生.
这是最简单的一种方法,但缺点在于运行时间很长``` 之前我用VB做过一个9位数的识别码,识别码是由0~9组成的不重复排列码,运行时间就长达十几秒....
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我是dongping
2008-04-07 · TA获得超过644个赞
知道小有建树答主
回答量:478
采纳率:0%
帮助的人:238万
展开全部
随机产生函数是需要种子值的,一次随机函数产生以后,就需要把生成的输出值保存起来。下一次需要的时候再调出这个值种子当作种子参数来产生随机数,就对了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式