如何获得一定范围内的随机数?

lorchen 2004-01-24 06:59:02
例如我想获得1到m-1范围内的随机数,该怎样生成?请给具体例子!^_^
...全文
473 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
lorchen 2004-01-27
  • 打赏
  • 举报
回复
其实如果在20次内产生在1~9范围内不同随机数应该这样:
#include<iostream.h>
#include<stdlib.h>
#include<time.h>
void main()
{ int i,j;
srand(time(NULL));
for(i=0;i<20;i++)
{
j=1+rand()%9; //a=rand()%m和a=1+rand()%m是有错的,应该是a=1+rand()%(m-1)
cout<<j<<endl;
}
}
其实如果在20次内产生在1~9范围内相同随机数应该这样:
#include<iostream.h>
#include<stdlib.h>
#include<time.h>
void main()
{ int i,j;

for(i=0;i<20;i++)
{
srand(time(NULL));
j=1+rand()%9; //a=rand()%m和a=1+rand()%m是有错的,应该是a=1+rand()%(m-1)
cout<<j<<endl;
}
}
jellen 2004-01-25
  • 打赏
  • 举报
回复
铃,不是可以的吗? 你试试下面的代码:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main(int argc, char *argv[])
{
int a, i;
int m=10; //得到1-9之间的随机数

srand(time(NULL)); //初始化种子
a=1+rand()%m ;
printf("%d\n",a);
system("PAUSE");
return 0;
}

我在DEV-C++中编译通过了。
lorchen 2004-01-25
  • 打赏
  • 举报
回复
jellen(类痴狂人)的方法不行。。乌乌~~~
lorchen 2004-01-25
  • 打赏
  • 举报
回复
time()函数中要有long*的参数呀!要不然它提示:Too few parameters in call to 'time(long *)'呀!
我是这样做的:for(int i=1;i>=1&&i<=m-1;i=random(m))去获得i的值,当然要#include<stdlib.h>啦。^_^
lorchen 2004-01-25
  • 打赏
  • 举报
回复
OK,是行了。是在一次运行中得出的随机数是相同的。
lorchen 2004-01-25
  • 打赏
  • 举报
回复
好呀!谢谢。我想问问如何动态创建二维指针数组,将初始化每个值都为NULL呀??
  • 打赏
  • 举报
回复
还要#include<time.h>

才能用 time()
kof99 2004-01-24
  • 打赏
  • 举报
回复
rand() 可以获得一个随即数, 但之前要用一个随机种子,一般用时间.如srand(time())
然后用 rand()%(m-1) 就可以得到 1 -- (m-1) 的随机数
flashsj 2004-01-24
  • 打赏
  • 举报
回复
:)
Iaoapbicfis 2004-01-24
  • 打赏
  • 举报
回复
其实
用rand()返回的一个数字,在取过随即数的话,在对数进行判断,如果满足范围的话就取用,如果不满足的话就舍去了.
不知道,这个方法可不可以.
纪俊 2004-01-24
  • 打赏
  • 举报
回复
让你得到的rand()乘以一个数(比如说比较大的那个数),然后得到小于小的数可以让他重新生成,呵呵~~
这就是偶得笨办法
jellen 2004-01-24
  • 打赏
  • 举报
回复
int a=1+rand()%(m-1);

65,179

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧