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

    千次阅读 2019-01-03 09:42:44
    C语言随机函数 #include<stdio.h> #include<stdlib.h> #include<time.h> int main() { srand((unsigned)time(0)); //time函数time.h库 printf("%c\n",rand...

    C语言随机函数

    #include<stdio.h>
    #include<stdlib.h>
    #include<time.h>
    
    int main()
    {
        srand((unsigned)time(0)); //time函数time.h库 
    	printf("%c\n",rand()%26+'A');//printf函数 stdio.h库 
    	srand((unsigned)time(0)*(rand()%100));//srand函数和rand函数 stdlib.h库 
    	printf("%c\n",rand()%26+'A');
        return 0; 
     } 
    

    srand(unsigned int)函数必须带形参,形参类型为unsigned类型
    time()函数获取当前时间
    rand()函数产生0~RAND_MAX间的随机数,若未调用srand()函数设置随机数种子,则随机数种子默认为1

    展开全文
  • c语言 随机函数

    2017-02-22 07:11:01
    c语言 随机函数  #include  rand()  srand()  标准C库中函数rand()可以生成0~RAND_MAX之间的一个随机数,其中RAND_MAX 是stdlib.h 中定义的一个整数,它与系统有关。  rand()函数没有输入参数,...

    c语言 随机函数

        #include <stdlib.h>

      rand()
      srand()
      标准C库中函数rand()可以生成0~RAND_MAX之间的一个随机数,其中RAND_MAX 是stdlib.h 中定义的一个整数,它与系统有关。
      rand()函数没有输入参数,直接通过表达式rand()来引用;例如可以用下面的语句来打印两个随机数:
      printf("Random numbers are: %i %i\n",rand(),rand());
      因为rand()函数是按指定的顺序来产生整数,因此每次执行上面的语句都打印相同的两个值,所以说C语言的随机并不是真正意义上的随机。

      为了时程序在每次执行时都能生成一个新序列的随机值,我们通常通过为随机数生成器提供一粒新的随机种子。函数 srand()(来自stdlib.h)可以为随机数生成器播散种子。只要种子不同rand()函数就会产生不同的随机数序列。srand()称为随机数生成器的初始化器。


      当提供的种子相同时,随机数序列也时相同的。而且当种子为1时,与不使用srand()函数时一样的,也就是说rand()函数默认情况下初始化种子值为1;

      在stdlib.h 中这两个函数的原型是:
      int rand();
      void srand (unsigned int);
      srand(time(0)); i=rand(); 这样i就是一个真正意义上的随机数。


      rand()产生伪随机数,srand函数提供种子,种子不同产生的随机数序列也不同,所以通常先调用srand函数 time(0)返回的是系统的时间(从1970.1.1午夜算起),单位:秒,种子不同当然产生的随机数相同几率就很小了。

    #include<stdio.h> 
    #include<stdlib.h> 
    #include<time.h> 
    
    /* 产生一个 0 - N 内的整数。*/
    #define N 100
    int main() 
    { 
    	int i,j; 
    	srand((int)time(0));
    	for(i=0;i<10;i++) 
    	{ 
    		//j=(int)(N*rand()/(RAND_MAX+1.0)); 
    		j = rand() % N;
    		printf("%d ",j); 
    	} 
    } 
    




    展开全文
  • c语言随机函数

    2021-01-13 16:13:14
    1.初识随机函数 在实践中,找到真正的随机数字是困难的。数字计算机只能在一个限定的范围内和有限的精度下去处理数字。在大多数情况下,最好的方法是产生伪随机数,这不是真正意义的随机数,它的意义是:单次产生的数列是...

    1.初识随机函数

    在实践中,找到真正的随机数字是困难的。数字计算机只能在一个限定的范围内和有限的精度下去处理数字。在大多数情况下,最好的方法是产生伪随机数,这不是真正意义的随机数,它的意义是:单次产生的数列是无法预测的,但是每次都会生成同样的一组随机数列。
    C语言的标准函数库提供有一个随机数函数,即 rando()函数,它返回[0,MAX均匀分布的伪随机整数。rand()函数不接受参数,默认以1为种子(即起始值),它总是以相同的种子开始,所以形成的伪随机数列也相同,不是真正的随机。这是有意设计的,目的是为了便于程序的调试。
    另一个函数是 srand(),可以使用该函数指定不同的数(无符号整数)为种子。但是如果种子相同,么伪随机数列也相同。有两种方法可以采用:一种是让用户输入种子,但效果不是很理想;另一种比较想的是采用变化的数,常用时间来作为随机数生成器的种子。这样,种子不同,产生的随机数也就不同。
    在这里插入图片描述

    使用随机函数

    rand()函数没有参数,它返回一个从0到最大数之间的随机数。
    要生成一个[a,b]范围内的随机数,可以表示为:

    	int n=a+srand()%(b-a+1);
    

    在这里插入图片描述
    下面我就写个代码

    #include <stdio.h>
    #include <stdlib.h>//包含转换和存储头文件
    #include <time.h>//包含日期和时间处理头文件
    #define max 100
    
    int main() {
    	srand((unsigned)time(NULL));//随机数播种函数
    	for (int i = 0; i < 20; i++)//产生20个随机数
    		printf("%d\n", rand() % max);//设定随机数范围并输出
    }
    

    srand()函数的参数是一个带NUL参数的tmeO函数。NULL参数使tme0函数以秒为单位读取计算机内部时钟的时间,然后 srand()函数使这个时间初始化,rand()函数设定随机函数范围,也就是常说的产生一个以当前时间开始的随机种子。
    MAX为生成随机数范围的上限值,rand%MAX产生的随机数范围是[0,max-1]。
    在这里插入图片描述

    展开全文
  • 前言本文主要讲解C语言随机函数,学习随机函数将由此拉开序幕,亲爱的准备好了没?随机数随机数主要是通过rand()函数产生的,rand() 函数可以随机产生一个正整数,它会产生一个无符号整数,范围在1~32767,即两字节...

    前言

    本文主要讲解C语言的随机函数,学习随机函数将由此拉开序幕,亲爱的准备好了没?

    随机数

    随机数主要是通过rand()函数产生的,rand() 函数可以随机产生一个正整数,它会产生一个无符号整数,范围在1~32767,即两字节16位的整数最大值。而GNU C++产生的随机数范围为2147483647。 范围中的每一个数在每次随机调用rand时都有相同的概率被选中。使用随机函数的时候需要加上#inlcude 头文件。如以下案例:

    48355f53de17488876ec7aae8e1ac0ca.png

    注意:每次程序运行的结果答案都是相同的,这显然不是我们想要的。这是因为,rand函数不是真正的随机数生成器,而srand()会设置供rand()使用的随机数种子。如果你在第一次调用rand()之前没有调用srand(),那么系统会为你自动调用srand()。而使用同种子相同的数调用 rand()会导致相同的随机数序列被生成。如果要确保每次产生的都不一样,我们需要引用一个专门为rand设置随机化种子的函数srand().

    随机函数种子

    随机函数种子srand函数在库中说明如下:

    //接口说明:time()  returns  the  time  as  the  number  of  seconds  since  the Epoch,  1970-01-01 00:00:00 +0000 (UTC).   If tloc is non-NULL, the return value is also stored in the memory  pointed to by tloc.
    7c90b155d45753dcde06e0f667c0e9a0.png

    意思就是:要想每次随机结果不一样,就要每次运行更改种子,time函数返回当前时间距离197-01-01的描述,每次运行都不一样,正好可以当做种子,既就是大家学习的rand()函数的时候,老师让大家写srand((unsigned int)time(NULL))的原因,让随机数与时间绑定关系,时间在改变,随机数自然能够改变。

    其实srand函数的参数编程中可以自己随意设置,伪随机就是每次得到的数据有规律可循,默认情况下数字在1~0x7fff,也就是(1~32767)。当设置参数为srand(1000),则生成的随机数是1000~0x7fff。

    如下实例:

    af8282e928abc98eb4b3b2adb7a1f09c.png

    随机函数固定范围

    主要思路其实非常简单,就是通过取余来做即可

    219018b9013653394338cfa6e6d4ae96.png

    尾言

    文章都是手打原创,每天最浅显的介绍C语言、C++,windows知识,喜欢我的文章就关注一波吧,可以看到最新更新和之前的文章哦。如果足下基础比较差,不妨关注下人人都可以学习的视频教程

    《C语言51课视频教程合集》

    《C++45课视频教程》

    通俗易懂,深入浅出,一个视频只讲一个知识点。视频不深奥,不需要钻研,在公交、在地铁、在厕所都可以观看,随时随地涨姿势

    展开全文
  • C语言随机函数代码

    2017-11-24 19:40:08
    C代码,输入三个值找出最大值,从小到大排序,软件测试课程用例 。
  • C语言随机函数的使用

    万次阅读 多人点赞 2017-12-07 09:18:33
    rand()和srand()应该是初学者最先接触到的随机函数了,今天博主就这两个函数陈述一下自己的理解。
  • 该楼层疑似违规已被系统折叠隐藏此楼查看此楼在C语言函数库中包含了一个产生随机数的函数:intrand(void);在函数库中对这个函数的说明是:Therandfunctionreturnsapseudorandomintegerintherange0toRAND_MAX....
  • c语言中的随机函数为rand(),但是rand生成的值得大小主要相对一个变量才产生的一定有含义的数,这个相对的变量我们可以再srand()函数中进行设置,srand函数是void类型,内部含一个无符号整形 定义如下 如果我们...
  • c语言 随机函数详解

    2017-05-19 14:04:08
    C语言中,rand()函数可以用来产生随机数,但是这不是真真意义上的随机数,是一个伪随机数,是根据一个数,我们可以称它为种子,为基准以某个递推公式推算出来的一系数,当这系列数很大的时候,就符合正态公布,从而...
  • C语言 随机函数 种子

    千次阅读 2016-07-22 10:57:13
    C/C++怎样产生随机数:这里要用到的是rand()函数, srand()函数C语言/C++里没有自带的random(int number)函数。 (1) 如果你只要产生随机数而不需要设定范围的话,你只要用rand()就可以了:rand()会返回一随机数值...
  • c语言中的随机函数为rand(),但是rand生成的值得大小主要相对一个变量才产生的一定有含义的数,这个相对的变量我们可以再srand()函数中进行设置,srand函数是void类型,内部含一个无符号整形 定义如下 ...
  • C语言随机函数rand()

    千次阅读 2018-08-05 17:41:08
    随机函数rand()产生的是一个0~RAND_MAX之间的整数 符号常量RAND_MAX是在头文件stdlib.h中定义的,因此使用该函数时需要包含头文件stdlib.h 控制生成随机数的范围 1. 利用求余运算rabd()%b将函数rand()生成的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 408,775
精华内容 163,510
关键字:

c随机函数