主题:为什么我用随机数rand()每次都是41阿?
benzaku
[专家分:0] 发布于 2007-07-18 17:41:00
rt
回复列表 (共8个回复)
沙发
guojianbao [专家分:0] 发布于 2007-07-19 12:45:00
隨機種子
randomize();
板凳
hn_lijianguo [专家分:540] 发布于 2007-07-22 14:25:00
int(rand()*i)1~i
3 楼
yanwilliams [专家分:250] 发布于 2007-08-05 22:55:00
随机函数是否设置了默认值?
4 楼
gameboyc3i [专家分:0] 发布于 2007-08-09 18:22:00
怎么样设置默认值啊?我在for 里用random()也老是只返回同样一个值。不知道是怎么回事?
for(i=1;i<=j;i++)
{
randomize();
nun=random(total);
snun=IntToStr(nun);
str2="select * from 雇员 where 序号 = '"+snun+"'";
ADOQuery1->Close();
ADOQuery1->SQL->Clear();
ADOQuery1->SQL->Add(str2);
ADOQuery1->Open();
name=ADOQuery1->FieldByName("名字")->AsString;
zw=ADOQuery1->FieldByName("职务")->AsString;
zc=ADOQuery1->FieldByName("尊称")->AsString;
dz=ADOQuery1->FieldByName("地址")->AsString;
sr=ADOQuery1->FieldByName("出生日期")->AsString;
StringGrid1->Cells[0][i]=name;
StringGrid1->Cells[1][i]=zw;
StringGrid1->Cells[2][i]=zc;
StringGrid1->Cells[3][i]=dz;
StringGrid1->Cells[4][i]=sr;
nun=0;
}
程序进行时几行都是同一个记录里的值。请高手指教。
5 楼
南北回归 [专家分:10] 发布于 2007-08-25 07:37:00
将randomize()放到需要随机种子的函数的开端是个很好的做法,不要把它放在循环体里,random()利用的是当前时间和调用randomize()时的时间差。
6 楼
baijinghao [专家分:0] 发布于 2007-08-27 14:29:00
好象要添加一个时间函数吧 你从书上查查看
7 楼
scottmee [专家分:0] 发布于 2007-10-04 00:00:00
randomize(0);
除了给它初值外,还有把它放在循环前,一切都问题了
8 楼
moke5 [专家分:30] 发布于 2010-09-01 14:50:00
你好.我是全职网赚工作者.
如果你有时间有电脑.会打字.
想在网络上创业.请联系我..
项目绝对真实.详情QQ空间资料
加盟请联系 QQ909065437
我来回复