‘壹’ 如何在c语言中生成一定范围内的随机数
用rand函数吧,好久不用C语言,不太记得,貌似是int a=rand()% X(X即范围)这是伪随机数
#include<time.h>
srand(time(NULL));使用前用这条语句初始化
使用int a=rand() / RAND_MAX * n;
就得到真正的随机数
‘贰’ 如何在C语言和OC中生成随机数
C语言生成余昌随机数的函数为rand(), 可以获得一个非负整数的随机数。要调用rand需要包含头文件stdlib.h。竖毁察
要让随机数余茄限定在一个范围,可以采用如下方法。
假设要产生随机数r, 其范围为 m<=r<=n,可以使用如下公式:
rand()%(n-m+1)+m
其原理为,对于任意数,
0<=rand()%(n-m+1)<=n-m
于是
0+m<=rand()%(n-m+1)+m<=n-m+m
即
m<=rand()%(n-m+1)+m<=n
‘叁’ c语言中如何生成1个0到1的随机数
C语言中生成1个0到1的随机数可以执行语句:float b=rand()/(RAND_MAX+1.0);
解析:
标准C库中函数rand()可以生成0~RAND_MAX之间的一个随机数,其中RAND_MAX 是stdlib.h 中定义的一个整数,它与系统有关。rand()函数没有输入参数,直接通过表达式rand()来引用;
用函数rand取得的随机数除以(RAND_MAX+1.0),即可确保得到的结果在0到1之间。ISO IEC 9899 2011 (C11)标准中未规定 RAND_MAX 的具体数值。但该标准规定了RAND_MAX 的值应至少为32767。编程的时候,不应该对 RAND_MAX 的具体数值做任何假设。
(3)c语言中随机数生成公式扩展阅读:
相关说明:
1、因为rand()函数是按指定的顺序来产生整数,因此每次执行上面的语句都打印相同的两个值,所以说C语言的随机并不是真正意义上的随机。
2、为了使程序在每次执行时都能生成一个新序列的随机值,我们通常通过为随机数生成器提供一粒新的随机种子。函数 srand()(来自stdlib.h)可以为随机数生成器播散种子。只要种子不同rand()函数就会产生不同的随机数序列。srand()称为随机数生成器的初始化器。
3、随机种子(Random Seed)是计算机专业术语,一种以随机数作为对象的以真随机数(种子)为初始条件的随机数。一般计算机的随机数都是伪随机数,以一个真随机数(种子)作为初始条件,然后用一定的算法不停迭代产生随机数。
‘肆’ c语言随机数怎么生成
在实际编程中,我们经常需要生成随机数。在c语言中我们通常使用rand方法生成随机数,在调用rand前需要调用srand初始化随机数种子。
电脑:华为MateBook14
系统:Windows10
软件:notepad++等编辑器、gcc编译器1.0
1、使用rand函数生成随机数,rand随机生成一个位于0 ~ RAND_MAX之间的整数。如下图中,我们直接使用rand方法生成10个随机数。
‘伍’ c语言怎么生成随机数
你好!
#include<stdio.h>
#include<stdlib.h>//生成随机数用
#include<time.h>//利用时间生成种子
#include<math.h>
intmain()
{
inti;
inta[100];
srand(time(NULL));//生成种子
for(i=0;i<100;i++)
{
a[i]=rand()%1000+1000;//生成一个小于1000的随机数
//然后加1000,变成1000-2000之间的数
printf("%d",a[i]);//打印
}
i=rand()%100;//随机抽取其中的一个数
printf("
抽取到的是:%d
",a[i]);//打印
return0;
}
‘陆’ 怎样用c语言生成n个随机数
产生一定范围随机数的通用表示公式x0dx0ax0dx0a要取得[a,b)的随机整数,使用(rand() % (b-a))+ a;x0dx0ax0dx0a要取得[a,b]的随机整悄迟数,使用(rand() % (b-a+1))+ a;x0dx0ax0dx0a要取得(a,b]的随唯运哗机整数,使用(rand() % (b-a))+ a + 1;x0dx0ax0dx0a通用公式:a + rand() % n;其中的a是起始值,n是整数的范围。x0dx0ax0dx0a要取得a到b之间的随机整数,另一种指行表示:a + (int)b * rand() / (RAND_MAX + 1)。x0dx0ax0dx0a要取得0~1之间的浮点数,可以使用rand() / double(RAND_MAX)。
‘柒’ C语言怎样产生一定范围的随机数
在C语言中,rand()函数可以用来产生随机数,但是这不是真真意义上的随机数,是一个伪随机数,是根据一个数,可以称它为种子。
为基准以某个递推公式推算出来的一系数,当这系列数很大的时候,就符合正态公布,从而相当于产生了随机数。
C语言产生一定范围的随机数的源代码如下:
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i;
for(i=0; i<10; i++) //随机产生10个数。
{
printf("%d ", rand());
}
return 0;
}
(7)c语言中随机数生成公式扩展阅读
1、如果要随机生成一个在一定范围的数,你可以在宏定义中定义一个random(int number)函数,然后在main()里面直接调用random()函数。
2、在对rand()的前三次调用中,并且此后得到的返回值仍然是在对rand()的第一批调用中所得到的其余的返回值。因此,只有再次给srand()提供一个随机的“种子”值,才能再次得到一个随机数。
‘捌’ 随机函数rand怎么用c语言
一、首先包含必要的头文件
#include<stdio.h>
这个包含用于输入输出的函数。
#include<stdlib.h>
这个包含初始化随机数种子、产生随机数的函数。
#include<time.h>
这个包含与时间有关的函数,初始化随机数种子时可以用到。
二、使用如下公式产生在区间[min,max]之间的随机数
int r=rand()%(max-min+1)+min;
三、一个例子,产生10个[1,100]的随机整数
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
const int min=1,max=100;
int i,r;
//用当前时间初始化随机数种子
srand(time(NULL));
printf("随机产生的10个1-100的整数是:");
for(i=0;i<10;i++)
{
r=rand()%(max-min+1)+min;
printf("%d,",r);
}
return 0;
}
四、运行结果的截图
截图2
‘玖’ 怎么用C语言生成随机数
假设要生成的随机数是大于等于20且小于等于100的整数
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
voidmain(){inta,b,x;
a=20;b=100;
srand((unsignedint)time(NULL));//用当前时间生成一个随机数种子
x=rand()%(b-a+1)+a;
printf("得到一个随机数:%d ",x);
}
‘拾’ c语言,如何产生随机数
具体代码如下:
#include <stdio.h>
#include <stdlib.h>
#include <time.h> //用到了time函数
int main()
{ int i,number;
srand((unsigned) time(NULL)); //用时间做种,每次产生随机数不一样
for (i=0; i<50; i++)
{
number = rand() % 101; //产生0-100的随机数
printf("%d ", number);
}
return 0;
}
有以下几种情况:
(1) 如果你只要产生随机数而不需要设定范围的话,你只要用rand()就可以了:rand()会返回一随机数值, 范围在0至RAND_MAX 间。RAND_MAX定义在stdlib.h, 其值为2147483647。
(2) 如果你要随机生成一个在一定范围的数,你可以在宏定义中定义一个random(int number)函数,然后在main()里面直接调用random()函数:
例如:
rand()%100是产生0-99的随机数。
(3)但是上面两个例子所生成的随机数都只能是一次性的,如果你第二次运行的时候输出结果仍和第一次一样。这与srand()函数有关。srand()用来设置rand()产生随机数时的随机数种子。在调用rand()函数产生随机数前,必须先利用srand()设好随机数种子(seed), 如果未设随机数种子, rand()在调用时会自动设随机数种子为1。上面的两个例子就是因为没有设置随机数种子,每次随机数种子都自动设成相同值1 ,进而导致rand()所产生的随机数值都一样。
srand()函数定义 : void srand (unsigned int seed);
通常可以利用geypid()或time(0)的返回值来当做seed。如果你用time(0)的话,要加入头文件#include<time.h>