c语言中如何产生1或0随机数

Python014

c语言中如何产生1或0随机数,第1张

float b=rand()/(RAND_MAX+1.0)

printf("%f\n",b)

注释:

stdlib.h头文件中有宏#define RAND_MAX 0x7fff

rand()产生一个0到0x7ffff即0到32767之间的随机数

rand()/(RAND_MAX+1.0)就等于一个0到1之间的小数了,因为rand()最大是32767最小是0,再除以32768就是一个0到1之间的小数(不能等于1),再乘以10就是一个0到10之间的数了(不等于10).最后再加1,就成了一个求1到10之间随机数的式子了.

每次产生16位不同的随机二进制数:

#include<stdio.h>

#include<stdlib.h>

#include<time.h>

int main()

{int i

srand(time(NULL))

for(i=0i<16i++)

printf("%d",rand()%2)

return 0

}

首先你要设置种子:srand()((int)time(NULL))

然后获取随机数 你可以通过变量来保存也可以打印出来:

如:

#include <stdlib.h>

#include <stdio.h>

#include <time.h>

int main ()

{

srand((int)time(NULL))

for(int loop=0loop<10++loop)

{

printf("%d\n",rand()%10)

}

return 0

}

time() 和srand() 的头文件分别是<stdlib.h><time.h>

rand()%10表示产生的随机数你0-9之间

如果你要得到0-1之间的随机数应该就是rand()%2