c语言rand函数的使用
rand函数功能为获取一个伪随机数(伪随机数的概念下面会有介绍)。
一、函数名:
rand();
二、声明:
int rand();
三、所在头文件:
stdlib.h
四、功能:
返回一个伪随机数。之所以说是伪随机数,是因为在没有其它操作下,每次执行同一个程序,调用rand得到的随机数序列是固定的(不是真正的“随机”)。
五、为了使rand的结果更“真”一些,也就是令其返回值更具有随机性(不确定性),C语言在stdlib.h中还提供了srand函数,通过该函数可以设置一个随机数种子,一般用当前时间的毫秒数来做参数。通过time(NULL)可以获取到当前时间的毫秒值(该函数位于time.h)中。
六、使用rand的流程可以总结为:
1 调用srand(time(NULL))设置随机数种子。
2 调用rand函数获取一个或一系列随机数。
需要注意的是,srand只需要在所有rand调用前,被调用一次即可,没必要调用多次。
七、以下是随机获取10个整型值并输出的例子,辅助理解。
#include #include #include int main(){ int i; srand(time(NULL));//设置随机数种子。 for(i = 0; i < 10; i ++)//运行10次。 printf("%d
", rand());//每次获取一个随机数并输出。 return 0;}
rand()
rand()函数用来产生随机数,但是,rand()的内部实现是用线性同余法实现的,是伪随机数,由于周期较长,因此在一定范围内可以看成是随机的。
rand()会返回一个范围在0到RAND_MAX(至少是32767)之间的伪随机数(整数)。
在调用rand()函数之前,可以使用srand()函数设置随机数种子,如果没有设置随机数种子,rand()函数在调用时,自动设计随机数种子为1。随机种子相同,每次产生的随机数也会相同。
rand()函数需要的头文件是:
rand()函数原型:int rand(void);
使用rand()函数产生1-100以内的随机整数:int number1 = rand() % 100+1。
srand()
srand()函数需要的头文件仍然是:
srand()函数原型:void srand (usigned int seed);
srand()用来设置rand()产生随机数时的随机数种子。参数seed是整数,通常可以利用time(0)或getpid(0)的返回值作为seed。
使用rand()和srand()产生1-100以内的随机整数:
srand(time(0));
int number1 = rand() % 100+1。
你好!!
srand((int)time(NULL));// 移到循环的外面
增加了每次出拳的显示,便于查看
增加了局数的显示
#include<stdlib.h>//为了使用srand、rand函数必须使用该头文件
#include<time.h>//要使用time()必须使用该头文件
#include<stdio.h>
int main()
{
char in;
//出错,产生的随机数永远一样。
srand((int)time(NULL));// 移到循环的外面
int a=1;
do{
int user; //定义玩家和电脑出拳
int uwin,ulos,allwin;//定义玩家的胜利参数,失败参数,平局参数
int cwin,clos,loop; //定义电脑的胜利参数和失败参数,不需要定义平局参数,可以直接取用allwin
int computer=0;
uwin=0;
ulos=0;
allwin=0;
cwin=0;
clos=0;
computer = rand()%3+1; //随机产生1-3任意一个整数,rand()%3是随机产生0-2之间的整数(包含0但不包含3)
printf("
【第 %d 局】
请出拳:",a);
a++;
scanf("%d",&user);
printf("这一局,您出的是【%d】,电脑出的是【%d】!
",user,computer);
switch(user)
{
case 1:
if(computer==1)
{
printf("这一局,您出的是【石头】,电脑出的是【石头】,好巧哦,是平局耶!
");
allwin+=1;
}
}
}while(1);
}
下面的代码每次运行结果一样吗?
#include<stdlib.h>//为了使用srand、rand函数必须使用该头文件
#include<time.h>//要使用time()必须使用该头文件
#include<stdio.h>
int main()
{
int user;
srand((int)time(NULL));//srand作为rand的种子()内为系统时间;
for(user=0;user<100; user++){
printf("%d, ",rand()%3+1);
}
return 0;
}
#include<stdlib.h>//为了使用srand、rand函数必须使用该头文件
#include<time.h>//要使用time()必须使用该头文件
#include<stdio.h>
int main()
{
char in;
do
{
int user;//定义玩家和电脑出拳
int uwin,ulos,allwin;//定义玩家的胜利参数,失败参数,平局参数
int cwin,clos,loop;
//定义电脑的胜利参数和失败参数,不需要定义平局参数,可以直接取用allwin
int computer=0;
//出错,产生的随机数永远一样。
srand((int)time(NULL));//srand作为rand的种子()内为系统时间;
computer = rand()%3+1;
//随机产生1-3任意一个整数,rand()%3是随机产生0-2之间的整数(包含0但不包含3)
printf("
【第一局】
请出拳:");
scanf("%d",&user);
switch(user)
{
case 1:
if(computer==1)
{
printf("这一局,您\
出的是【石头】,电脑出的是【石头】,\
好巧哦,是平局耶!
");
allwin+=1;
break;
}
}
}while(1);
}
不是每次都一样啊!程序的话,缩进一下应该更好看一些。缩进之后程序顺序一目了然
你把产生随机数的
srand((int)time(NULL));//srand作为rand的种子()内为系统时间;
computer = rand()%3+1;//随机产生1-3任意一个整数,rand()%3是随机产生0-2之间的整数(包含0但不包含3)
这2行丢进去
或者把下面那一行丢进while 确保每次种子不一样或者随机不一样
你把srand函数移出do while循环外面试试!
rand()函数是什么意思,如何使用
(1)使用该函数首先应在开头包含头文件stdlib.h include<stdlib.h>(C++建议使用#include<cstdlib>,下同)(2)在标准的C库中函数rand()可以生成0~RAND_MAX之间的一个随机数,其中RAND_MAX 是stdlib.h 中定义的一个整数,它与系统有关。(3)rand()函数没有输入参数,直接通过表达式rand()来引用;...
c语言中rand()函数怎么用?
五、为了使rand的结果更“真”一些,也就是令其返回值更具有随机性(不确定性),C语言在stdlib.h中还提供了srand函数,通过该函数可以设置一个随机数种子,一般用当前时间的毫秒数来做参数。通过time(NULL)可以获取到当前时间的毫秒值(该函数位于time.h)中。六、使用rand的流程可以总结为:1 调用srand...
rand()函数如何使用。
rand(产生随机数)表头文件: #include<stdlib.h> 定义函数 :int rand(void)函数说明 :因为rand的内部实现是用线性同余法做的,他不是真的随机数,只不过是因为其周期特别长,所以有一定的范围里可看成是随机的,rand()会返回一随机数值,范围在0至RAND_MAX 间。在调用此函数产生随机数前,必须先...
rand函数怎么用?
srand函数用法如下:1、srand是C和C++编程语言中的一个函数,它被用来设置随机数生成器的种子。这个函数通常在需要产生随机数的情况下使用。2、基本的用法,(c#include<stdlib.h>\/\/需要包含这个头文件来使用srand和rand函数int main()\/\/用当前时间作为种子srand(time(NULL));\/\/生成一个随机数int...
rand函数的用法
rand函数是C语言中一个非常常用的随机数生成函数,它可以生成一个0到RAND_MAX之间的随机整数。在使用该函数前,我们需要在程序中引入stdlib.h头文件。rand函数的使用方法非常简单,只需要在程序中调用该函数即可,例如:int num = rand();上述代码将生成一个随机整数,并将其赋值给变量num。但是需要注意...
c语言中rand()函数怎么用?
printf("%i",rand());printf("\\n");} return 0;} 当提供的种子相同时,随机数序列也是相同的。而且当种子为1时,与不使用srand()函数时一样的,也就是说rand()函数默认情况下初始化种子值为1;在stdlib.h 中这两个函数的原型是:int rand();void srand (unsigned int);srand(time(0));...
c语言中rand函数怎么用?
一、C++获取随机数的方法 rand()方法是C++获取随机数的方法,可以通过srand()方法获取系统的时间,用系统时间作为判断依据,生成随机数,随机数的大小通过rand()方法获取的值,进行取余后获得。也就是说,srand方法获取到了系统的时间,他是毫秒级的,然后通过这个毫秒级的数据,对100取余,即可获得0-...
rand()是干什么用的?
rand(产生随机数)表头文件:include<stdlib.h> 定义函数:int rand(void)函数说明:rand()会返回一随机数值,范围在0至RAND_MAX 间。在调用此函数产生随机数前,必须先利用srand()设好随机数种子,如果未设随机数种子,rand()在调用时会自动设随机数种子为1。关于随机数种子请参考srand()。
c语言随机数函数是什么?
C语言随机数函数是rand。接下来对rand函数进行 一、rand函数的基本介绍 rand函数是C语言中用于生成随机数的标准函数。它返回一个伪随机数,这个数在每次程序运行时都会有所不同。虽然称之为“随机”,但这些数实际上是按照特定的算法计算得出的,因此称为伪随机数。二、rand函数的使用 使用...
c中,rand()是什么意思,有什么作用
为了增强随机性,可以使用srand函数设置种子值,或者使用更复杂的随机数生成库。在需要高度安全或高度随机的场合,建议使用专门的随机数生成器。但在大多数应用中,rand函数提供的伪随机数已经足够满足需求。总的来说,rand函数在C语言中是一个非常实用的工具,用于生成伪随机数。尽管其随机性有限,但在许多...