首页 > 编程知识 正文

r语言生成随机数,r语言生成任意数

时间:2023-05-04 18:59:55 阅读:241078 作者:4768

本文主要介绍2个函数:rand()和srand();

1.rand()函数

    是产生随机数的一个随机函数:

#include <stdlib.h>int rand(void);

return value: 

    为一个随机数值,范围咋0至RAND_MAX之间(定义在stdlib.h,如下)

    /* The largest number rand will return (same as INT_MAX).  */

    #define RAND_MAX        2147483647


/******************************************** @FileName : rand.c* @Description : 产生1到255的随机数* @Editor : tobiu* @Date : 2018-04-06 13:38********************************************/#include<stdio.h>#include<stdlib.h>int main(void){ int i = 0; printf("[%d %s %s] rand : ",__LINE__,__FUNCTION__,__FILE__); for(i=0;i<10;i++) { printf("%d ",rand()%254+1);//%254对数取余就会生成0-254的数值,+1数值就会加1,最终生成的范围是:1-255. } printf("n"); return 0;}

    结果:

    

    随机数每次生成一样的,原因:未设置seed。在调用该函数之前,必须先利用srand()设好随机数种子。如果未设置随机数种子,rand()在调用时会自动设随机数种子为1,导致生成的随机数每次运行的结果是相同的;

2.srand()函数

    随机数发生器的初始化函数。

#include <stdlib.h>void srand(unsined int seed);

    seed必须是个整数,通常可以利用geypid或time(NULL)的返回值当做seed。如果每次seed都设相同值,那么rand所产生的随机数值都是一样的。

/******************************************** @FileName : rand.c* @Description : 产生1到255的随机数* @Editor : tobiu* @Date : 2018-04-06 13:38********************************************/#include<stdio.h>#include<stdlib.h>#include <time.h>int main(void){ int i = 0; srand((unsigned int)time(NULL)); printf("[%d %s %s] rand : ",__LINE__,__FUNCTION__,__FILE__); for(i=0;i<10;i++) { printf("%d ",rand()%254+1); } printf("n"); return 0;}


版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。