函数rand()是真正的随机数生成器。而srand()会设置供rand()使用的随机数种子。

假设你在第一次调用rand()之前没有调用srand(),那么系统会为你自己主动调用srand()。

注意而使用同种子同样的数调用 rand()会导致同样的随机数序列被生成。

因此我们假设要生成以m为随机数的种子首先要调用srand();

以下就举例,生成以100,为种子的随机数10个,将他们控制在0~100之内.

#include <stdio.h>
int random(int m){
        return rand()%m;//將随机数控制在0~m-1之间
}
int main(){
        int n=10,i,m=100,s=50;
        srand(s);//设置随机数种子
        for(i=0;i<n;i++){
                printf("%d ",random(m));
        }
        printf("\n");
        return 0;
}
 
/*常常使用:srand(time(NULL));来生成以当前时间为种子的随机数,要包括<time.h>*/

相关文章:

  • 2021-12-09
  • 2022-02-17
  • 2021-12-09
  • 2021-08-17
  • 2023-02-11
  • 2022-12-23
  • 2021-12-18
  • 2021-12-18
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-12-09
  • 2021-10-03
  • 2021-12-09
  • 2021-12-08
  • 2022-12-23
相关资源
相似解决方案