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>用于需要时间方面的函数

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐