A. c语言,如何产生随机数
1、第一步,先定义int一个数组和int一个指针变量。
B. C语言怎样使用随机数
#include <stdio.h>
#include <conio.h>
main()
{
int i,n,sum=0;
srand(time(NULL));//设置随机种子
system("cls");//清屏
n=rand()%101;//随机数在1-100之间
sum=sum+n;//将生成的随机数累加,存在sum变量中
printf("\n%d",sum);//输出总和
system("pause");//使程序在DOS窗口下暂停,可注释掉
}
C. 怎么用C语言生成随机数
生成1~13的随机数,随机数序列中没有重复字数
#include <stdio.h>
#include <stdlib.h> // 包含rand()函数说明
#include <time.h>
#define N 13
void main( void )
{ inti, j, num[N], tmp; //用当前时间种子重置随机数生成器,使每次运行生成不同的随机数
srand((unsigned)time( NULL ) );
for(i=0;i<N;i++) // 生成N个数
{
while(1) //生成1个数
{
tmp=N *rand()/ RAND_MAX +1; // 产生随机数
for(j=0;j<i;j++) //判断是否重复
if( tmp==num[j] )
break;
if(j==i) // 找到1个数
{
num[i]=tmp; //入队列
break; // 开始下一轮
}
} printf("%3d\t",num[i]); //打印结果
}
}
如果可以重复,去掉内循环,直接将生成的随机数存入数组
D. c语言,如何产生随机数
c语言中的随机数是伪随机,真正意义上的随机应该是和上一状态无关的,所以设置srand就显得尤为重要了
下面是linux中stdlib的实现,供参考:
static
long
holdrand
=
1L;
void
srand(unsigned
int
seed)
{
holdrand
=
(long)
seed;
}
int
rand()
{
return
(((holdrand
=
holdrand
*
214013L
+
2531011L)
>>
16)
&
0x7fff);
}
E. c语言如何产生随机数
srand(int)来设种子,然后每次rand()返回一个随机数。
注意要包含#include <stdlib.h>头文件,因为用到了srand函数
#include <time.h> //用到了time函数
int main()
{
srand((unsigned) time(NULL)); //用时间做种,每次产生随机数不一样
for (int i=0; i<10; i++)
{
int number = rand() % 12 + 1; //产生1-13的随机数
printf("%d\n", number);
}
return 0;
}
F. c语言 关于产生随机数
因为,是通过time为输入来计算出输出的假的随机数产生器。
第一次程序执行很多遍,time参数更新好多次带进去。所以差异很大。
第二次你写的程序,每次重新运行,到取随机数函数时候,经过的time都是相接近的数值,所以输出也一样
G. linux C语言 rand函数
机械工业出版社有一本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我没弄过···
H. C语言如何生成随机数
在VC中设计到随机数有两个函数
srand()
and
rand()
srand()
的作用是是一个种子,提供每次获得随机数的基数而已,rand()根据种子而产生随机数
注意
1:srand()
里的值必须是动态变化的,否则得到的随机数就是一个固定数
2:其实可以不用写srand()
,只用rand()就可以了,省事,简单,例子如下
如果我们想得到一个
0-60的随机数那么可以写成
int
i;
i=rand()%60;
就可以了。
当然最好有个统一的标注如下:
int
i;
srand((unsigned)time(
NULL
));
i=rand()%60;
这样就OK了。
I. c语言用linux的ubuntu编程的时候b=rand()%3是把1到3的随机数赋给b的意思吗
x%3求余,只可能是0,1,2,因此,这里的随机数是0,1,2三个,赋值给b。
不建议直接使用rand()%N这种随机数生成使用,特别是当N比较大时候。
一般RAND_MAX = 32767,这样算下来,不太准确的随机数。
更好的方法如下:
doubler=rand()/(double(RAND_MAX)+double(1));//[0,1)
b=r*3+1;//[1,3]
J. linux中,C语言for语句中的随机数种子。
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
int i,j;
srand(time(0));
for( i = 0;i < 1000;i++)
for(j = 0;i < 100;i++){
printf("%3d",rand()%100+1);
printf("\n");
}
return 0;
}