昨天和今天在看第16章的《库函数》,习题要求做一个简单的模拟掷骰子的随机数发生器,就是随机产生1到6的数字,在产生的时候,第一次要用srand产生一个种子,以下是具体的代码:
[root@bjxdurs235 20090804]# cat -n rand.c
1 #include
2 #include
3
4 static int first_time = 1;
5
6 int dice(void)
7 {
8 if ( first_time ){
9 first_time = 0;
10 srand( time(NULL) );
11 //srand( unsigned int time(NULL) );
12 }
13 return ( rand() % 6 + 1 );
14
15 }
16
17 int main(void)
18 {
19 int a,i;
20 for( i=1; i<=10000; i++ ){
21 a = dice();
22 //printf("time: %d\t-- %d\n",i,a);
23 printf("%d\n",a);
24 }
25
26 }
[root@bjxdurs235 20090804]# ./a.out | sort | uniq -c | sort -nr -k 2
1618 6
1693 5
1673 4
1743 3
1622 2
1651 1
这个程序是比较简单的。
阅读(691) | 评论(0) | 转发(0) |