srand()函数的简述
srand函数是C语言中的种子函数,它的更能是生成一个随机数,并将其作为接下来的随机数中使用的种子参数。它主要用于生成不完全相同的随机数列。在C语言中,srand函数主要通过使用指定参数来设置随机数生成的种子,从而将生成的随机数设置完全不同的序列。
srand函数是C语言中用于控制随机数生成器的核心函数,它的功能是为随机数的生成器设置一个种子,srand函数的内部原理是:从指定的参数中提取出一个随机数,并将该随机数作为随机数生成器的种子。这样一来,当一个随机数被生成的时候,就可以使用随机数生成器的种子来自动生成另外一个全新的随机数。
srand函数有两个参数,第一个参数指定种子,第二个参数是一个C函数,用于获得另一个随机数。
rand()是C语言中的随机数生成函数,定义在<stdlib.h>头文件中,返回0到RAND_MAX之间的整数。RAND_MAX通常是32767。要生成指定范围内的随机数,可以使用模运算符(%)。
例题:
题目描述
让计算机来想一个数,然后让用户来猜,用户每输入一个数,就告诉它是大了还是小了,直到用户猜中为止,在最后还要告诉用户它猜了多少次。
解题思路(循环条件是a和number不相等)
1、计算机随机想一个数,记在变量number里;
2、一个负责计次数的变量count初始化为0;
3、让用户输入一个数字a;
4、count递增(加一);
5、判断a和number的大小关系,如果a大,就输出“大”;如果a小就输出“小”;
6、如果a和number是不相等的(无论大还是小),程序转回到第3步;
7、否则,程序输出“猜中”和次数,然后结束。
代码演示
#include <stdio.h>
#include <stdlibe.h>
#include <time.h>
int main()
{
srand(time(0));
int number = rand()%100+1;
int count = 0;
int a = 0;
printf("我已经想好了一个1到100之间的数。");
do
{
printf("谁猜这个1到100之间数:");
scanf("%d",&a);
count ++;
if(a>number)
{
printf("你猜的数大了。\n");
}
else if(a<number)
{
printf("你猜的数小了。\n");
}
} while(a!=number);
printf("太好了,你用了%d次就猜到了答案。\n",count);
return 0;
}
注:srand(time(0))来使用当前时间使随机数发生器随机化,这样就可以保证两次运行时可以得到不同的随机数列,同时要求程序的两次运行时间间隔超过1s。
知识点
随机数:每次召唤rand()就得到一个随机的整数
%100:x%n的结果是[0,n-1]的一个整数
头文件<time.h>用于需要时间方面的函数
更多推荐
所有评论(0)