C语言中给数组赋随机值 您所在的位置:网站首页 c语言随机排序数组 C语言中给数组赋随机值

C语言中给数组赋随机值

2023-11-20 23:50| 来源: 网络整理| 查看: 265

  srand和rand两个函数配合可以产生伪随机数序列。rand函数在产生随机数前,需要系统提供的生成伪随机数序列的种子,rand根据这个种子的值产生一系列随机数。如果系统提供的种子没有变化,每次调用rand函数生成的伪随机数序列都是一样的。srand(unsigned seed)通过参数seed改变系统提供的种子值,从而可以使得每次调用rand函数生成的伪随机数序列不同,从而实现真正意义上的“随机”。通常可以利用系统时间来改变系统的种子值,即srand(time(NULL)),可以为rand函数提供不同的种子值,进而产生不同的随机数序列。

程序1: 

 

1 #include/*用到了srand函数,所以要有这个头文件*/ 2 #include 3 #define MAX 15 4 5 int main() 6 { 7 int number[MAX] = {0}; 8 int i; 9 unsigned int seed; 10 printf("手动输入随机数种子:\n"); 11 scanf("%d",&seed);/*手动输入种子*/ 12 srand(seed); 13 printf("产生随机数如下:\n"); 14 for(i = 0; i < MAX; i++){ 15 number[i] = rand() % 100;/*产生100以内的随机整数*/ 16 printf("%d\t",number[i]); 17 } 18 printf("\n"); 19 return 0; 20 }

 

运行结果:

手动输入随机数种子: 3 产生随机数如下: 46 85 68 40 25 40 72 76 1 64 58 24 93 39 2

 

程序2:

1 #include 2 #include 3 #include/*用到了time函数,所以要有这个头文件*/ 4 #define MAX 15 5 6 int main(void) 7 { 8 int number[MAX] = {0}; 9 int i; 10 srand((unsigned)time(NULL));/*播种子*/ 11 printf("产生随机数序列如下:\n"); 12 for(i = 0; i < MAX; i++) 13 { 14 number[i] = rand() % 100;/*产生100以内的随机整数*/ 15 printf("%d\t",number[i]); 16 } 17 printf("\n"); 18 return 0; 19 }

运行结果:

产生随机数序列如下: 20 29 49 13 33 96 37 18 84 20 10 28 60 62 86

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有