精华内容
下载资源
问答
  • C随机数

    2013-07-17 21:49:00
    C中取随机数需要对函数是: int rand ( void ); void srand ( unsigned int n); 备注:必须包含该头文件#include <stdlib.h> 使用方法 rand()函数返回0到RAND_MAX之间的伪随机数...

    C语言,如何产生随机数:

     

    1. 基本函数

    在C中取随机数所需要对函数是:

    int rand ( void );

    void srand ( unsigned int n);

     

    备注:必须包含该头文件#include <stdlib.h>

     

    1. 使用方法

    rand()函数返回0到RAND_MAX之间的伪随机数(pseudorandom)。RAND_MAX常量被定义在stdlib.h头文件中。其值等于32767,或者更大

    srand()函数使用自变量n作为种子,用来初始化随机数产生器。只要把相同的种子传入srand(),然后调用rand()时,就会产生相同的随机数序列。因此,我们可以把时间作为srand()函数的种子,就可以避免重复的发生。如果,调用rand()之前没有先调用srand(),就和事先调用srand(1)所产生的结果一样。

    (1)                                              (2)

    int i;                                            int i;

    for(i=0;i<10;i++)                                                       srand(1);

    printf(“%d\t”,rand()%10);                           for(i=0;i<10;i++)

    运行结果:1 7 4 0 9 4 8 8 2 4                       printf(“%d\t”,rand()%10);

                                                                                        运行结果:同(1)

     

    (3)                                       (2)

    int i;                                                                             int i;

    srand (5)                                                                       srand((unsigned)time(NULL));

    for(i=0;i<10;i++)                                                        for(i=0;i<10;i++)

    printf(“%d\t”,rand()%10);                           printf(“%d\t”,rand()%10);

    运行结果:4 3 5 9 0 0 7 9 2 0                       运行结果:

    该程序每次运行结果都不一样,因为每次启动程序的时间都不同。另外需要注意的是,使用time()函数前必须包含头文件time.h。

     

    注意事项:

    求一定范围内对随机数;

    如果去[0,10)之间对随机整数,需将rand()的返回值与10求模。

     

    若是求[a,b),则使用:

    (rand()%(b-a))+a;

    转载于:https://www.cnblogs.com/wangliangliang/p/3196937.html

    展开全文
  • c生成随机数

    2012-04-21 19:59:00
    欲生成随机数,主要用到两个函数srand,rand。...用法:它需要提供一个种子,这个种子会对应一个随机数,如果使用相同的种子后面的 rand() 函数会出现一样的随机数。为了防止随机数每次重复常常使用系统时间来初...

    欲生成随机数,主要用到两个函数srand,rand。头文件为:

    #include <stdlib.h>

     

    一、函数

    1.srand

    void srand ( unsigned int seed );

    用法:它需要提供一个种子,这个种子会对应一个随机数,如果使用相同的种子后面的 rand() 函数会出现一样的随机数。为了防止随机数每次重复常常使用系统时间来初始化,即使用 time函数来获得系统时间,它的返回值为从 00:00:00 GMT, January 1, 1970 到现在所持续的秒数,然后将 time_t型数据转化为(unsigned)型再传给 srand 函数,即: srand((unsigned) time(&t))  还有一个经常用法,即: srand((unsigned) time(NULL)); 直接传入一个空指针,因为你的程序中往往并不需要经过参数获得的 t 数据。srand((int)getpid()); 使用程序的ID (getpid()) 来作为初始化种子,在同一个程序中这个种子是固定的。

    2.rand

    int rand ( void );

    产生一个伪随机数(根据 srand 初始的随机数种子),范围为 0 - RAND_MAX。RAND_MAX 至少为 32767,我电脑为 2147483647(int 型为32位),够用了喝。可通过取模来产生不同范围的随机数,如:

    int value = rand() % (MAX + 1 - MIN) + MIN;

     

    二、举例

    产生 num 个随机数,并输出到文件 file:

    int genrand(long num, char *file)
    {
        long *dat = (long *)malloc(num * sizeof(long));
        long *p = dat, i;
        
        if (dat == NULL){
            printf("malloc error, memory not enough!\n");
            exit(1);
        }
        
        srand( (unsigned int)time(0) );
        for (i = 0; i < num; i++){
            dat[i] = rand();
        }
        
        /* 保存到文件中 */
        FILE *fp = fopen(file, "w");
        if (fp == NULL){
            printf("fopen error, can't open file %s!\n", file);
            exit(2);
        }
        
        while (*p){
            fprintf(fp, "%ld\n", *p++);
        }
        free(dat);
        fclose(fp);
        
        return 0;    
    }
    展开全文
  • C 随机数

    千次阅读 2018-10-30 15:58:14
    需要用到的函数 头文件 #include &lt;stdlib.h&gt; #include &lt;time.h&gt; 函数 int rand(void); void srand (unsigned int n); time(time_t* const _Time); 使用方法 rand()函数返回0到...
    • 需要用到的函数

    头文件

    #include <stdlib.h>

    #include <time.h>

    函数

    int rand(void);
    void srand (unsigned int n);

    time(time_t* const _Time);

    • 使用方法

    rand()函数返回0到RAND_MAX之间的伪随机数(pseudorandom)。RAND_MAX常量被定义在stdlib.h头文件中。其值等于32767,或者更大。

    srand()函数使用自变量n作为种子,用来初始化随机数产生器。只要把相同的种子传入srand(),然后调用rand()时,就会产生相同的随机数序列。因此,我们可以把时间作为srand()函数的种子,就可以避免重复的发生。如果,调用rand()之前没有先调用srand(),就和事先调用srand(1)所产生的结果一样。

    代码:

    	int i;
    	// 产生[0, 10)之间的随机数
    	for (i = 0; i<10; i++) 
    	{
    		printf("%d ", rand() % 10);
    	}
    	printf("\n");
    
    	srand(1);     //每次执行种子相同,生成相同的随机数
    	for (i = 0; i<10; i++)  
    	{
    		printf("%d ", rand() % 10);
    	}
    	printf("\n");
    
    	srand((int)time(NULL));     //每次执行种子不同,生成不同的随机数
    	for (i = 0; i<10; i++)
    	{
    		printf("%d ", rand() % 10);
    	}

     

    • 指定范围随机数

    srand((unsigned)time(null));
    (a,b) (rand()%(b-a+1))+a-1
    [a,b) (rand()%(b-a))+a
    (a,b] (rand()%(b-a))+a+1
    [a,b] (rand()%(b-a+1))+a

    • 随机浮点

    要取得0~1之间的浮点数,可以用:

    rand() / (double)(RAND_MAX)

    如果想取更大范围的随机浮点数,比如0~100,可以采用如下方法:

    rand() /((double)(RAND_MAX)/100)

     

    展开全文
  • C初级_随机数

    2019-03-12 09:56:34
    1.真随机数与伪随机数 随机数随机数就是非人为的随机发生...随机数函数,rand()表示生成一个随机数,其常与srand()固定搭配,且需要头文件 stdlib.h 2.1 创建一个固定的随机数 int n; n=rand(); 表示生...

    1.真随机数与伪随机数

    随机数

    • 随机数就是非人为的随机发生的一个数

    真随机数

    • 按照随机现象发生的数,为真随机数,该数理论上认为不具有规律

    伪随机数

    • 计算机系统按照一定方式生成的,在较大范围内不重复的随机数

    2.创建随机数

    • 随机数函数,rand()表示生成一个随机数,其常与srand()固定搭配,且需要头文件 stdlib.h

    2.1 创建一个固定的随机数

    int n;
    n=rand();
    • 表示生成了一个固定的随机数

    2.2 创建一定范围内的随机数

    • C语言中%具有取余数的作用,其余数范围为0-n 则,想完成一定范围内的随机数,其操作为
    int i;
    i=rand()%31;//希望生成0-30内的随机数

    2.3 创建一个不固定的随机数

    • 用srand((unsigned)time(NULL));生成一个随机数种子
    • 随机数种子可以理解成,rand的任何一次初值操作都有srand赋予新值
    srand((unsigned)time(NULL));
    printf("%d\t\n",rand());

    3. 完整代码实例

    #include<stdio.h>
    #include<iostream>
    #include<stdlib.h>// srand rand 
    #include<time.h>//time
    
    int main()
    {
     printf("\n以下看书用于生成一个随机数\n");
     int n;
     n = rand();
     printf("%d\t", n);
     
     printf("\n\n以下函数用于生成在20-30之间的随机数");
     int i;
     i = rand() % 31;
     printf("\n%d\t", i);
     printf("\n\n以下函数用于生成3个可变的随机数:\n");
     srand((unsigned)time(NULL));
     for (int i = 0; i < 3; ++i)
     {
      printf("%d\t\n",rand());
     }
     system("pause");
     return 0;
    }
    展开全文
  • C/C++随机数

    2019-06-23 00:13:27
    rand是C标准库中的函数,使用线性同余法来产生随机数,是伪随机数,在随机种子相同的情况下,生成的随机数序列是一样的,所以在程序入口处往往需要设置随机数种子。 int main() { srand(time(nullptr));//设置...
  • objective-c随机数的用法 (3种:arc4random() 、random()、CCRANDOM_0_1() ) 1、随机数的使用  1)、arc4random() 比较精确不需要生成随即种子  使用方法 :  通过arc4random() 获取0到x-1之间的整数的...
  • c/c++ 随机数生成

    2019-09-22 14:10:11
    当程序需要一个随机数时有两种情况下使用:  1.程序中只需使用一次随机数,则调用rand()函数即可  2.程序需要多次使用随机数,那么需要使用srand()函数生成随机数种子在调用rand()函数保证每次的随机数不同 ...
  • objective-c 生成随机数

    2012-05-03 11:48:45
    1、c 函数 random 需要设置种子 e.g : srandom ((unsigned int)time(time_t *)NULL); 2、c 函数 arc4random 不需要种子 e.g : // [0,value) int result = arc4random() %value; e.g : // [1,value] int result...
  • c/c++随机数

    2019-07-06 01:50:03
    首先给srand()提供一个种子,它是一个unsigned ...根据需要多次调用rand(),从而不间断地得到新的随机数; 无论什么时候,都可以给srand()提供一个新的种子,从而进一步“随机化”rand()的输出结果。 #include &...
  • objective-c 中三种产生随机数的方法 //arc4random() 比较精确不需要生成随即种子 //通过arc4random() 获取0到x-1之间的整数的代码如下: int value = arc4random() % x; //获取1到x之间的整数的代码...
  • C Programming - 随机数生成

    千次阅读 2018-08-06 17:54:58
    "随机数"在C语言程序设计中也会经常遇到,利用随机数生成函数我们可以获取许多位的随机数、随机数组、随机矩阵等等。... 使用该函数之前需要引用库函数"stdlib.h"; 其函数原型为:int rand(void),参数为空,...
  • [C] 随机数(待丰富)

    2014-02-27 15:48:08
    C/C++的rand()函数生成0~RAND_MAX之间的随机整数(RAND_MAX定义在stdlib.h,其值为2147483647),但并未真正意义上的随机数(实际上每次运行的结果都一样)。 需要在之前调用srand()设置随机数种子,一般可选用...
  • c/c++ 随机数

    2013-08-17 08:26:33
    很久之前看《linux C 编程实战》中关于BT下载时发现,需要随机选择一个piece(文件逻辑上分成大小相同的块)进行下载,有一个功能就是要获取某一范围的随机数,现在把关于随机数的生成总结一下方便以后复习,呵呵。...
  • 随机数

    2016-01-25 14:13:42
    生成随机数通常用rand()函数,自己用的不多——但是只要需要产生随机数马上想到的就是它。 #include #include //随机函数文件 #include using namespace std; int main() { int i; srand(time(NULL));//设置...
  • c c++ 产生随机数

    2014-03-29 11:25:40
    C/C++怎样产生随机数:这里要用到的是rand()函数, srand()函数,C语言/C++里没有自带的random(int number)函数。 (1) 如果你只要产生随机数而不需要设定范围的话,你只要用rand()就可以了:rand()会返回一随机数值...
  • 主要介绍了objective-c中生成随机数的方法,比较实用的功能,需要的朋友可以参考下
  • C/C++ 生成随机数

    万次阅读 多人点赞 2017-07-17 11:02:16
    C/C++中生成随机数需要用到两个函数:rand()函数和srand()函数,C/C++中没有生成在一定范围内的随机数的内置函数,不过我们可以利用前边的两个函数来实现生成在一定范围内的随机数。 1、rand()函数 该函数是一个...
  • C/C++随机数的生成

    2019-11-22 11:35:51
    C/C++随机数的生成 随机数的生成所需函数 在C/C++中不存在所谓的random()函数,我们通常使用的是stdilb.h(cstdlib)库下的rand()函数和srand()函数 生成随机数只用一次 这样我们就只需要使用rand()函数,rand()会...
  • 转自:... 1、随机数的使用  1)、arc4random() 比较精确不需要生成随即种子  使用方法 :  通过arc4random() 获取0到x-1之间的整数的代码如下:  int 
  • C/C++产生随机数

    2018-07-30 18:08:29
    C/C++产生随机数 ...(1) 如果你只要产生随机数而不需要设定范围的话,你只要用rand()就可以了:rand()会返回一随机数值, 范围在0至RAND_MAX 间。RAND_MAX定义在stdlib.h, 其值为2147483647。例如...
  • C/C++——生成随机数

    万次阅读 2016-10-18 17:26:16
    1、不指定范围的随机数C/C++中,产生随机数需要使用到函数srand()函数和rand()函数。在C语言中,srand()函数和rand()函数都是定义在2、在指定范围内生成随机数2.1、生成在指定区间start~end之间的随机整数:#...
  • /* rram.c 用于生成随机数组 不支持M级 例: rram 1024 rram 1 k rram 1 K rram 2048 rram 2 k rram 2 K */ #include <stdio.h> #include <...
  • C/C++随机数生成

    2015-03-24 14:55:15
    C/C++怎样产生随机数:这里要用到的是rand()函数, srand()函数,C语言/C++里没有自带的random(int number)函数。 (1) 如果你只要产生随机数而不需要设定范围的话,你只要用rand()就可以了:rand()会返回一随机数值,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 977
精华内容 390
关键字:

c需要随机数