C语言中的stdlib和time标准库在随机运算类问题的使用

32 篇文章 1 订阅
23 篇文章 1 订阅

<stdlib.h>

随机函数int rand(void)

注:rand函数没有参数,它的返回值为从0到RAND_MAX的随机整数,RAND_MAX为在<stdlib.h>中定义的一个数值,至少为32767

随机种子设置函数void strand(unsigned int seed)

注:seed为unsigned int类型的随机值,seed被称为随机数种子。strand函数没有返回值,它的作用为以指定的随机种子初始化随机数生成器

通过调用strand函数设置不同的随机种子,即可让rand函数根据不同的序列产生相应的随机整数

<time.h>

时间函数time(0)==time(NULL)

时间函数的返回值为从1970年1月1日0时0分0秒到现在的秒数

strand函数&&rand函数&&time函数
//初始化随机种子
strand(time(NULL)); //这条语句以现在的时间为随机数种子

a=rand()%100; //获取0~99的随机数
a=rand()%10; //获取0~9的随机数
a=rand()%2; //获取0~1的随机数

注:strand函数根据随机数种子值来随机尝试不同的序列,让rand函数根据产生的序列来产生随机整数,这也说明rand函数产生的随机数即返回值,并不是正在的随机数,通常被称为伪随机数

例:

//使用随机函数和随机种子设置函数创建一维随机数组
#include<stdio.h>
#include<stdlib.h>	//包含了rand函数、srand函数
#include<time.h>	//包含了time函数
#define N 10
void main()
{
	int i,a[N];
	srand(time(0));	//调用随机种子设置函数,随机数种子值为time函数的返回值
	for(i=0;i<N;i++)
		a[i]=rand()%101;	//调用随机函数,通过for语句循环产生10个0~100的数字
	for(i=0;i<N;i++)
		printf("%d",a[i]);
	return 0;
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值