随机生成数——C语言

目录

一、引言

二、随机生成数

1、原理

2.关键代码

3.举个栗子


一、引言

很多时候调试程序要手动输入待测值,输入量很少时还好,但是当待测数据要求的输入量很多时,手动输入显然是低效率的,是浪费时间的。所以,可以尝试采用随机生成数的方式来作为输入值,来实现某种意义上的自动化!下面进行随机生成数的详解

二、随机生成数

1、原理

使用C语言stdlib.h头文件中的srand函数和rand函数,配合产生随机生成数序列。

rand函数在产生随机数前,需要系统提供的生成伪随机数序列的种子,rand根据这个种子的值从而产生一系列的随机数。如果系统提供的种子不变,那么每次调用rand函数生成的伪随机数序列都是是相同的。所以我们如何寻找一个变化的“种子”呢?

srand(unsigned int seed)函数就是充当随机数发生器的角色,通过参数无符号整参数seed改变系统提供的种子值,即“播种”。从而可以使得每次调用rand函数生成的伪随机数序列不同,从而实现真正意义上的“随机数”。

我们一般可以利用系统时间来改变系统的种子值,srand((unsigned int)time(NULL)),可以为rand函数提供不同的种子值,进而产生不同的随机数序列。

time.h头文件中的time_t time(time_t * t)函数,作用是返回1970年1月1日00:00:00到当前用户电脑所运行的时间之间秒数,如果t是空指针,直接返回当前时间;如果t不是空指针,返回当前时间的同时,将返回值赋予指针t所指向的内存空间。所以它是不断变化的,可以很好地用来作为srand函数的种子。

2.关键代码

srand((unsigned int)time(NULL));
int random=rand();

3.举个栗子

随机生成十个一百以内的整数并打印输出

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main(){
	int i,random[10];
	srand((unsigned int)time(NULL));//改变系统种子值,即"播种" 
	for(i=0;i<10;i++){
		random[i]=rand()%100;//对100进行模运算从而生成100以内的随机生成数 
		printf("%d ",random[i]);
	}
	return 0;
} 

  • 7
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Aricl.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值