如何c语言中随机产生1-50的随机数,包括小数?

Python09

如何c语言中随机产生1-50的随机数,包括小数?,第1张

VC环境下要比TC麻烦一些

格式如下:

#include "time.h"

#include "stdlib.h"

#include "stdio.h"

void main()

{

double x

srand((unsigned)time(0)) //根据时间来产生随机数种子

x=(double)rand()/RAND_MAX*49+1.0//(double)rand()/RAND_MAX产生0到1之间的随机数,乘以49,加上1.0就是1到50的随机数。

printf("%lf",x)

}

可以写一个函数,利用math.h中的rand来产生随机浮点数。

#include

#include

#include

//

精度0.001的随机浮点数

float

randf()

{

return

(float)(rand()

%

1001)

*

0.001f

}

main()

{

int

i

for

(i=0

i<100

++i)

printf("%.3f\n",

randf())

system("pause")

}

VC里rand()的范围是从0到某个内部指定的极大数,但是以前似乎有些书上说用rand得到的可能是负数。如果有出现负数的话,对rand得到的数取绝对值就可以了。