c语言随机数

写得我本身都看很差了:你们都比较喜欢吃快餐,只须要尽快告诉读者怎么用起来就好了。不想听啰啰嗦嗦说一堆,而后例程还特别麻烦ios

so:数组

 一、基本dom

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

srand(seed);spa

int myRandom = rand(); code

 

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

二、而后是生成指定范围的数字:io

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

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

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

int seed = time(0);

srand(seed);

int i1 = rand()%20;

int i2 = rand()%10+10;

int i3 = rand()%10+40;

 

三、解释缘由

这个有点儿坑,每次结果都是同样的,说好的随机根本不随机。其实 随机数自己也是经过计算获得的,每一次都是经过随机数种子计算获得的。若是随机数种子不一样那么计算出来的随机数就不一样,而产生随机数种子的函数一样在 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("\n");
        }     
    }
}
    
相关文章
相关标签/搜索