当前位置:首页 » 编程语言 » c语言生成不同随机数
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言生成不同随机数

发布时间: 2023-08-13 00:33:30

‘壹’ 怎么用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语言 如何产生1到52之间的不同的随机数

rand(产生随机数)
相关函数
srand

表头文件
#include<stdlib.h>

定义函数
int rand(void)

函数说明
rand()会返回一随机数值,范围在0至RAND_MAX 间。在调用此函数产生随机数前,必须先利用srand()设好随机数种子,如果未设随机数种子,rand()在调用时会自动设随机数种子为1。关于随机数种子请参考srand()。

返回值
返回0至RAND_MAX之间的随机数值,RAND_MAX定义在stdlib.h,其值为2147483647。

范例
/* 产生介于1 到10 间的随机数值,此范例未设随机数种子,完整的随机数产生请参考
srand()*/
#include<stdlib.h>
main()
{
int i,j;
for(i=0;i<10;i++)
{
j=1+(int)(10.0*rand()/(RAND_MAX+1.0));
printf("%d ",j);
}
}

执行
9 4 8 8 10 2 4 8 3 6
9 4 8 8 10 2 4 8 3 6

srand(设置随机数种子)
相关函数
rand

表头文件
#include<stdlib.h>

定义函数
void srand (unsigned int seed);

函数说明
srand()用来设置rand()产生随机数时的随机数种子。参数seed必须是个整数,通常可以利用geypid()或time(0)的返回值来当做seed。如果每次seed都设相同值,rand()所产生的随机数值每次就会一样。

返回值

范例
/* 产生介于1 到10 间的随机数值,此范例与执行结果可与rand()参照*/
#include<time.h>
#include<stdlib.h>
main()
{
int i,j;
srand((int)time(0));
for(i=0;i<10;i++)
{
j=1+(int)(10.0*rand()/(RAND_MAX+1.0));
printf(" %d ",j);
}
}

执行
5 8 8 8 10 2 10 8 9 9
2 9 7 4 10 3 2 10 8 7

‘叁’ c语言怎么产生两个不同的随机数

#include<time.h>
#include<stdio.h>
#include<stdlib.h>
main(){
int i,a[2];
srand(time(0));
for(i=0;i<2;i++)
a[i]=rand();
for(i=0;i<2;i++)
printf("%d\n",a[i]);
}

‘肆’ c语言怎样同时产生几组不同的随机数

int
a=(int)random(b);random(n)是产生从1到n
的一个随机数
nt
a=rand();rand()产生的是0--32767之间的随机数,rand()%5则结果为0-4的任意数,rand()%5+1则为1-5的任意数

‘伍’ C语言随机函数怎样产生0-9互不相同的10个随机数

对已经获取到的随机数做标记,如果已返团经获取到过,那么则放弃该随机数,并继续获取。

直到获取到所有随机数为止。

参考代码如下:

#include<stdio.h>
#include<stdlib.h>
#include<time.h>

intmain()
{
inta[10];//存储获取到的随机数。
intf[10]={0};//存储是否获取到过。
intn=0;//计数器。

srand(time(NULL));//设置随机数种子。

while(n<10)
{
intm=rand()%10;//获取一个0~9的随机数。
if(f[m])continue;//该数之前已经获取到过。
a[n++]=m;//将睁世启该数存入数组。
f[m]=1;//标记该数已经获取过。
}

悉如for(n=0;n<10;n++)//打印结果。
printf("%d,",a[n]);

return0;
}

‘陆’ c语言 产生一个随机数,如何让它每一次运行出现不同的随机数结果

#include"stdio.h"
#include"stdlib.h"
#include"time.h"
intmain(void)
{
srand((unsigned)time(NULL));
inta;
a=rand()%10;
printf("%d ",a);
}

加一句srand((unsigned)time(NULL)); 打开随机触发器 与时钟频率同步

这样每次随机的数就不同 不过需要包含头文件#include "time.h"

‘柒’ C语言如何产生一定范围内一定数量的不同随机数

源代码如下:

#include <stdio.h>

#include <stdlib.h>

#include <stdbool.h>

#include <unistd.h>

#define a 16807//or 48271

#define m 2147483647

#define q (m/a)

#define r (m%a)

static long int seed = 1;

//return rand long in [1,m]

long int pm_rand(void)

{

long hi = seed / q;

long lo = seed % q;

long tmp = a * lo - r * hi;

if(tmp > 0)

seed = tmp;

else

seed = tmp + m;

return seed;

}

int main(void)

{

for(int i = 0;i < 100;++i)

printf("%ld ",pm_rand());

puts("");

return 0;

}

(7)c语言生成不同随机数扩展阅读

不指定范围产生随机数的源代码

#include<stdio.h>
#include<stdlib.h>
int main()
{
int i;
for(i=0; i<10; i++) //随机产生10个数。
{
printf("%d ", rand());
}
return 0;
}

‘捌’ c语言怎样产生两个不同的随机数

用random函数
但是既然是随机数就有可能相同。要是一定不一样那就不是随机数了