rand()与 srand()

一   头文件 <time.h>

  srand()就是给rand()提供种子seed。

  在C语言中,srand()与rand()是随机函数,其中srand函数是伪随机数发生器的初始化函数,原型void srand(unsigned int seed);rand()是伪随机数生成器,在调用了srand()产生的种子以后,产生伪随机数。

  C语言中语句srand( (time(NULL) ) ; 表示设置一个随机种子,每次运行都能保证随机种子不同。

  在C语言中,rand()函数可以用来产生随机数,但是这不是真正意义上的随机数,是一个伪随机数,它是根据一个数,我们可以称它为种子,为基准以某个递推公式推算出来的一系数,但这不是真正的随机数,当计算机正常开机后,这个种子的值是定了的,除非你破坏了系统,为了改变这个种子的值。因此,C提供了srand()函数,它的原型是 void srand( int a)。用来改变这个种子值。

  srand( (time(NULL) )中time(NULL)函数是得到一个从1900年1月1日到现在的时间秒数,这样每一次运行程序的时间的不同就可以保证得到不同的随机数了

  

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
    srand(time(NULL));
    printf("%d",rand());

    return 0;
}

二  头文件 <windows.h>

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <windows.h>
int main()
{
    srand(time(NULL));//time.h
    printf("%d",rand());
    Sleep(500);//windows.h
    printf("xxx");
    return 0;
}

  输出:

28666xxx
Process returned 0 (0x0)   execution time : 0.537 s

原文地址:https://www.cnblogs.com/654321cc/p/9245867.html

时间: 2025-01-04 21:05:04

rand()与 srand()的相关文章

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

一.rand() 函数名:   rand 功   能:   随机数发生器 用   法:   int rand(void); 所在头文件: stdlib.h 函数说明 : rand()的内部实现是用线性同余法做的,它不是真的随机数,因其周期特别长,故在一定 的范围里可看成是随机的. rand()返回一随机数值的范围在0至RAND_MAX 间.RAND_MAX的范围最少是在32767之间(int).用 unsigned int 双字节是65535,四字节是4294967295的整数范围.0~RAND

认识随机函数rand()和srand(unsigned int )

随机函数rand /* GitHub stylesheet for MarkdownPad (http://markdownpad.com) / / Author: Nicolas Hery - http://nicolashery.com / / Version: b13fe65ca28d2e568c6ed5d7f06581183df8f2ff / / Source: https://github.com/nicolahery/markdownpad-github */ /* RESET ==

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

C++教程这篇文章给大家讲述的是:C++ 中随机函数 rand() 和 srand() 的用法! 一.rand() 函数名: rand 功 能: 随机数发生器 用 法: int rand(void); 所在头文件: stdlib.h 函数说明 : rand()的内部实现是用线性同余法做的,它不是真的随机数,因其周期特别长,故在一定的范围里可看成是随机的. rand()返回一随机数值的范围在0至RAND_MAX 间.RAND_MAX的范围最少是在32767之间(int).用 unsigned in

【转】随机函数的rand、srand用法

from:深海的小鱼儿 地址:http://www.cnblogs.com/xmphoenix/archive/2011/04/07/2008622.html 随机函数的rand.srand用法 一>基础 我们知道rand()函数可以用来产生随机数,但是这不是真真意义上的随机数,是一个伪随机数,是 根据一个数,我们可以称它为种了,为基准以某个递推公式推算出来的一系数,当这系列数很大的时候,就符合正态公布,从而相当于产生了随机数,但这不是真正 的随机数,当计算机正常开机后,这个种子的值是定了的,除

随机函数rand()和srand()

C++中随机函数rand()和srand()的用法 一.rand() 函数名:   rand     功   能:   随机数发生器   用   法:   int rand(void); 所在头文件: stdlib.h 函数说明 : rand()的内部实现是用线性同余法做的,它不是真的随机数,因其周期特别长,故在一定 的范围里可看成是随机的. rand()返回一随机数值的范围在0至RAND_MAX 间.RAND_MAX的范围最少是在32767之间(int).用 unsigned int 双字节是

rand()和srand()的用法

1.头文件包含cstdlib和ctime; 2.rand()是产生随机数0-32767: 3.rand()在编译后每次运行都产生相同的随机序列: 3.srand()用于初始化随机种子,当种子不一样时随机序列不一样,因为time(0)的每秒时间都不同故一般用他作为种子: 例如 #include<iostream>#include<cstdlib>#include<ctime>using namespace std;int main(){    int i;    sran

有关rand(),srand()产生随机数学习总结

看到夏雪冬日的有关rand()和srand()产生随机数的总结,挺好的,学习了,然后又有百度其他人的成果,系统总结一下.本文转自夏雪冬日:http://www.cnblogs.com/heyonggang/archive/2012/12/12/2814271.html,Peng Lv:http://www.cnblogs.com/lvpengms/archive/2010/02/03/1663066.html#commentform. 要计算机产生一个随机数不像扔色子一样,计算机的每一步操作,就

rand()和srand()GetTickCount函数用法

标准库<cstdlib>(被包含于<iostream>中)提供两个帮助生成伪随机数的函数: 函数一:int rand(void):从srand (seed)中指定的seed开始,返回一个[seed, RAND_MAX(0x7fff))间的随机整数. 函数二:void srand(unsigned seed):参数seed是rand()的种子,用来初始化rand()的起始值. 可以认为rand()在每次被调用的时候,它会查看:1) 如果用户在此之前调用过srand(seed),给se

用rand()和srand()产生伪随机数的方法总结 【转】

转自:http://blog.chinaunix.net/uid-26722078-id-3754502.html 标准库(被包含于中)提供两个帮助生成伪随机数的函数: 函数一:int rand(void):从srand (seed)中指定的seed开始,返回一个[seed, RAND_MAX(0x7fff))间的随机整数. 函数二:void srand(unsigned seed):参数seed是rand()的种子,用来初始化rand()的起始值. 可以认为rand()在每次被调用的时候,它会

awk之随机函数rand()和srand() (转)

转自:http://blog.chinaunix.net/uid-10540984-id-2942041.html 文件: 1234567 abcdefg ...... 现在想要随机抽取5列组成下面的内容,允许重复: 36612 cffab ...... awk -F '' 'BEGIN{srand();for(i=1;i<=5;i++)a[i]=int(rand()*100%7+1)}{for(i=1;i<=5;i++)printf $a[i];printf RS}' file [解析] 思