码迷,mamicode.com
首页 > 编程语言 > 详细

C语言中给数组赋随机值

时间:2015-07-11 14:47:11      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:

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

程序1: 

 

 1 #include<stdlib.h>/*用到了srand函数,所以要有这个头文件*/
 2 #include<stdio.h>
 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<stdlib.h>
 2 #include<stdio.h>
 3 #include<time.h>/*用到了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    

 

C语言中给数组赋随机值

标签:

原文地址:http://www.cnblogs.com/weekend27/p/4638465.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!