C++随机取值,范围是30~70,怎样实现?

来源:百度知道 编辑:UC知道 时间:2024/06/24 05:46:08
如题。
怎样rand()函数?

int val = rand() % 40 + 30;

这样你就能得到 30 ~ 70 之间的随机数,只是一个数学上的平移问题。

关于 rand() 函数的使用,请查阅 C/C++ 手册。
给你推荐一个网站吧:http://www.cppreference.com/wiki/

这个网站有 C/C++ 所有函数的参考和说明。

rand()产生的是伪随即数。
srand()书上说是为rand播种的。
如:
void main()
{
int n=1;
srand(n);
for(int i=0; i<50; i++)
cout<<rand()<<endl;
}
无论程序运行几遍,所得到的50个数每次都一样。
但如果你改一下srand()中的值,可以改变rand()产生的数。
如果想产生a到b之间的数,试试cout<<n=a+rand()%(b-a+1)<<endl;

代码如下:
int iR = 0;
srand( (unsigned)time( NULL ) );
iR = 30+rand()%40;

以上代码将随机产生30到70之间的正整数(包括30,不包括70)
如果将第二句改为
iR = 30+rand()%41
则将同时包括30和70。

---------------

针对不同编程语言,rand函数返回值范围不同。SQL中为0到1间的纯小数,C++中则为正整型范围(0到32767),微软平台的C+