Chinaunix首页 | 论坛 | 博客
  • 博客访问: 927860
  • 博文数量: 177
  • 博客积分: 8613
  • 博客等级: 中将
  • 技术积分: 2835
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-12 04:16
文章分类
文章存档

2012年(12)

2011年(24)

2010年(24)

2009年(75)

2008年(42)

我的朋友

分类: C/C++

2009-08-04 23:00:45

   昨天和今天在看第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) |
0

上一篇:fgrep的实现

下一篇:用c调用sendmail发邮件

给主人留下些什么吧!~~