怎样产生随机数?
比如我想在1—100中,随机产生一个数。怎么产生?
是要用到srand()和rand()吗?我不会,请指教?谢谢!
问题点数:50、回复次数:5Top
1 楼mountlin(我想睡觉了,下次再改昵称)回复于 2002-11-20 21:41:14 得分 15
程序启动时:
srand((unsigned int)GetTickCount());
需要产生随即数时:
n = int(double(rand()) / RAND_MAX * 100);
if (n == 100)
n--;
理论上这样比简单取余数更可靠Top
2 楼mountlin(我想睡觉了,下次再改昵称)回复于 2002-11-20 21:44:49 得分 10
不好意思,上边是0——99的,
n = int(double(rand()) / RAND_MAX * 100) + 1;
if (n == 101)
n--;Top
3 楼Rigel(猎户座-参宿七)(蓝色的星星★)回复于 2002-11-20 21:57:56 得分 20
// 随机种子
srand((unsigned)time(NULL));
// 随机数
n = rand()%100+1;Top
4 楼he_zhidan(何志丹:www.dzlishi.net,www.vcshare.net)回复于 2002-11-21 14:47:39 得分 5
用当前时间与随机数配合Top
5 楼woodfan(Enjoy everyday)回复于 2003-01-02 10:55:24 得分 0
谢谢各位Top




