zoukankan      html  css  js  c++  java
  • c语言随机数

    写得我自己都看不好了:大家都比较喜欢吃快餐,只需要尽快告诉读者怎么用起来就行了。不想听啰啰嗦嗦说一堆,然后例程还特别麻烦

    so:

     1、基本

    int seed = time(0);//#include <ctime>

    srand(seed);

    int myRandom = rand(); 

     

    //就这三行就得到了一个 随机数,其他的 都不属于随机数的范畴,举个随机数的例子还要看数组,这说明这个 笔记做的是在不咋好。

    2、然后是生成指定范围的数字:

    如何生成一个随机数i,使得0<=i<20?

    如何生成一个随机数i,使得 10<=i<20?

    如何生成一个随机数i,使得 10<=i<=50?

    int seed = time(0);

    srand(seed);

    int i1 = rand()%20;

    int i2 = rand()%10+10;

    int i3 = rand()%10+40;

     

    3、解释原因

    这个有点儿坑,每次结果都是一样的,说好的随机根本不随机。其实 随机数本身也是通过计算得到的,每一次都是通过随机数种子计算得到的。如果随机数种子不同那么计算出来的随机数就不同,而产生随机数种子的函数同样在 stdlib.h 里面,函数是:srand().

    【此部分代码在function1()里面】

    我们需要给随机数种子每次以不同的值,然后就能得到不同的随机数了,但是还有一个弊端。种子怎么才能得到不同的值。那我们知道时间每时每刻都不相同,所以如果能用时间给到随机数种子里面,那么每次得到的结果必然是不相同的。

    得到

     

    这个结果就比较好了。

     

    下面源代码。

     

     

    #include <iostream>
    #include <stdlib.h>
    #include <time.h>
    /**
        rand() 来自 stdlib.h 文件 
    */
    void function1(void);
    void function2(void);
    //int[] makeArray(int array[]);//怎么返回int类型的数组? 
    void display(int array[]); 
    int main() {
        function1();
        function2();
        return 0;
    }
    void function2(void){
        int array[10];
        int randomseed = (int) time(NULL);//包含在time.h里面 
        //返回当前时间,是time类型需要强制类型转换成int类型。
        srand(randomseed);
        for(int i=0;i<10;i++){
            array[i]=rand();
        }
        display(array);
    }
    void function1(void){
        //我们利用 rand() 来产生随机数:
        int array[10];
        for(int i=0;i<10;i++){
            array[i]=rand();
        }
        display(array);
    }
    
    void display(int array[]){
        for(int i=0;i<10;i++){
            printf("array[i]=%d ",array[i]);
            if((i+1)%5==0){
                printf("
    ");
            }     
        }
    }
        

     

  • 相关阅读:
    highcharts参数详解
    文件上传与下载的前后端处理
    jQuery中,$.extend,$obj.extend和$.fn.extend三者的区别
    JS二维数据处理逻辑封装探究
    HTML5-WebSocket-初探
    关于CKEditor.NET的安全性错误
    SpringMVC源码从入门到放弃-DispatcherServlet
    Spring源码从入门到放弃-Controller注册
    一、dubbo源码从入门到放弃-SPI
    新人伤不起
  • 原文地址:https://www.cnblogs.com/letben/p/5210120.html
Copyright © 2011-2022 走看看