c/c++里面有没有类似于random()的函数?

xloveronline 2003-08-05 02:35:16
要求:int random(int low,int high)//输入两个整数,返回一个两整数之间的随即数?

问:c/c++里有没有能实现以上功能的函数?
...全文
217 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
Kotoya 2003-08-07
  • 打赏
  • 举报
回复
怎么不可以了 rand()%n 和random(n)
都可以产生一个0-(n-1)的整数随即数啊
其中random()的内部事实上进行的就是_lrand()%n的运算
liuyuw 2003-08-05
  • 打赏
  • 举报
回复
srand();
和rand();
ZZH1983 2003-08-05
  • 打赏
  • 举报
回复
c/c++里没有搂主所谓的函数(至少我没碰到过)

不过自己可以写一个

if( high != low )
return rand()%( high - low )+low;
else
return high;
  • 打赏
  • 举报
回复
哦,抱歉。你说的是楼主自定义的那个函数。
  • 打赏
  • 举报
回复
Kotoya(云淡风轻):random 是哪儿来的?
  • 打赏
  • 举报
回复
inline int rand(int n0{return random(high-low)+low}  笔误?

inline int rand(int n) { return rand*(high-low)+low; }

但C/C++中的rand 产生的随机数却不是0-1之间的,我也是一试才知道。
Kotoya 2003-08-05
  • 打赏
  • 举报
回复
inline int rand(int n){return random(high-low)+low}
一个)打错了 呵呵
  • 打赏
  • 举报
回复
更精确的:
#include <cstdlib>
#include <ctime>
#include <iostream>
#include <iomanip>

using namespace std;

void main()
{
  srand( (unsigned) time(NULL) );
  cout<<setiosflags(ios::fixed);
  cout<<( (high-low) * ( rand()/(double)100000 ) + low )<<endl;
}
Kotoya 2003-08-05
  • 打赏
  • 举报
回复
srand() 在()中需要给予一个int 参数;
其实 srand(time(0));的效果就和randomize();一样。用计算机的内部数值作为参数

rand()和_lrand()则是可以产生0-RAND_MAX和LRAND_MAX 的整数;

至于要产生一个low-high的数值么 可以写成

inline int rand(int n0{return random(high-low)+low}
  • 打赏
  • 举报
回复
C++ ?

#include <cstdlib>
#include <ctime>
#include <iostream>

using namespace std;

void main()
{
  srand( (unsigned) time(NULL) );
  cout<<( (high-low) * ( rand()/(double)100000 ) + low )<<endl;
}
  • 打赏
  • 举报
回复
订正:printf( "%f", (high-low) * ( rand()/(double)100000 ) + low ); //注意%f
maxcai 2003-08-05
  • 打赏
  • 举报
回复
C++就是用C的。自已没有新的。
#include <stdlib.h>
#include <time.h>
#include <iostream.h>

void main()
{
  srand( (unsigned) time(NULL) );
  cout<<(high-low) * rand() + low <<endl;
}
借用楼上的CODE,这样像不像C++的呀?
wfy 2003-08-05
  • 打赏
  • 举报
回复
那C++的呢?
  • 打赏
  • 举报
回复
#include <stdlib.h>
#include <time.h>
#include <stdio.h>

void main()
{
  srand( (unsigned) time(NULL) );
  printf( "%d", (high-low) * rand() + low );
}
Kotoya 2003-08-05
  • 打赏
  • 举报
回复
rand()
_lrand()
srand()
Areslp 2003-08-05
  • 打赏
  • 举报
回复
srand();
和rand();

65,186

社区成员

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

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