rand()是伪随机的~即每次得到的值都是相同的
要得到真正随机数你可以先用srand((unsigned)time(0))得到一个种子
然后使用rand()得到一个随机数
比如要得到0到99的随机数,使用rand()%100 即可
获取种子时要使用时间函数,所以要包含time.h库
例
10 #include <stdio.h>
11 #include <time.h>
12 #include <stdlib.h>
13 int
14 main (void)
15 {
16
int i;
17
for (i = 0; i < 10; i++)
18
printf ("%-4d", rand () % 10);
19
printf ("\n\n");
20
srand ((unsigned) time (0)); //获取种子,其中(unsigned)time(0)即获得当前时间
//因为时间在不断的变,所以得到的种子也是随时变化的
21
printf ("Ten random numbers from 0 to 99 is %d.\n\n", rand () % 100);
22
return 0;
23
24 }
输出结果:
3
6
7
5
3
5
6
2
9
1
Ten random numbers from 0 to 99 is 9.
请按 ENTER 或其它命令继续
3
6
7
5
3
5
6
2
9
1
Ten random numbers from 0 to 99 is 79.
请按 ENTER 或其它命令继续
3
6
7
5
3
5
6
2
9
1
Ten random numbers from 0 to 99 is 66.
请按 ENTER 或其它命令继续
[
本帖最后由 xu_415 于 2011-3-7 10:57 编辑 ]