linux C语言 rand函数

linux C语言 rand函数,第1张

机械工业出版社有一本linux C的,好像是函数

你可以看看,写的我觉得那就非常的好

VC

int rand( void )

The rand function returns a pseudorandom integer in the range 0 to RAND_MAX.

至于 RAND_MAX 在 stdlib.h 中有定义,为 32767

可能是库不同???难道linux下的C···不一样?

具体我也不知道不好意思

linuxC我没弄过···

x%3求余,只可能是0,1,2,因此,这里的随机数是0,1,2三个,赋值给b。

不建议直接使用rand()%N这种随机数生成使用,特别是当N比较大时候。

一般RAND_MAX = 32767,这样算下来,不太准确的随机数。

更好的方法如下:

double r = rand()/(double(RAND_MAX) +double(1)) //  [0,1)

b = r*3 + 1 // [1,3]

#include "stdio.h"

#include "stdlib.h"

#include "time.h"/*需引用的头文件*/

int main(){

srand((unsigned)time(NULL))/*随机种子*/

int a=0,b=255//ASCII 字符范围

int i

for (i=0i<256i++){

int n=rand()%(b-a+1)+a/*n为a~b之间的随机数*/

printf("%c ",n)

}

return 0

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7183373.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-02
下一篇 2023-04-02

发表评论

登录后才能评论

评论列表(0条)

保存