我是靠谱客的博主 清爽电灯胆,最近开发中收集的这篇文章主要介绍C语言再学习 -- 随机数函数,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

参看:C++中随机函数rand()和srand()的用法

rand ()函数:可以用来获得一个随机数

所在头文件: stdlib.h

函数说明 :
rand()的内部实现是用线性同余法做的,它不是真的随机数,因其周期特别长,故在一定的范围里可看成是随机的。rand()返回一随机数值的范围在0至RAND_MAX 间。RAND_MAX的范围最少是在32767之间(int)。用unsigned int 双字节是65535,四字节是4294967295的整数范围。0~RAND_MAX每个数字被选中的机率是相同的。用户未设定随机数种子时,系统默认的随机数种子为1。rand()产生的是伪随机数字,每次执行时是相同的;若要不同,用函数srand()初始化它。


srand ()函数:可以用来设置随机数的种子

所在头文件: stdlib.h

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


time ()函数:可以返回系统时间

所在头文件: time.h

函数说明:

获取当前的系统时间,返回的结果是一个time_t类型,其实就是一个大整数,其值表示从CUT(Coordinated Universal Time)时间1970年1月1日00:00:00(称为UNIX系统的Epoch时间)到当前时刻的秒数。

参看:Linux time()函数

 

rand()和srand()要一起使用,其中srand()用来初始化随机数种子,rand()用来产生随机数。
因为默认情况下随机数种子为1,而相同的随机数种子产生的随机数是一样的,失去了随机性的意义,所以为使每次得到的随机数不一样,用函数srand()初始化随机数种子。srand()的参数,用time函数值(即当前时间),因为两次调用rand()函数的时间通常是不同的,这样就可以保证随机性了。

 

 

/*
 1--100   rand()%100+1  随机数
 输入一个数字 与随机数比较
 猜大了
 猜小了
 猜对了
 */
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{        
	int num=0,num1=0;
	srand((unsigned int)time(0));	//随机函数
	num1=rand() % 100+1;   //  取余为 0--99  +1
	while(1)
	{
	printf("请输入一个数:");  //放到循环里面
	scanf("%d",&num);
	if(num>num1)
	{
	<span style="white-space:pre">	</span>printf("猜大了n");
	}
	else if (num==num1) 
	{
		printf("猜对了n");
		break;
	}
	else
	{
		printf("猜小了n");
	}
	}
	return 0;		
}

 

随机数【15 ~ 18】:

rand()%(18-5+1)+15 

最后

以上就是清爽电灯胆为你收集整理的C语言再学习 -- 随机数函数的全部内容,希望文章能够帮你解决C语言再学习 -- 随机数函数所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部