CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C语言

一个关于产生随机数的问题

楼主java_hero(...)2004-08-03 11:44:03 在 C/C++ / C语言 提问

int   i;  
          for(i=0;i<10;i++)  
  {  
  int   temp=rand();  
  printf("%d\n",temp);  
  }  
   
  为什么每次运行程序,产生的数都是一样的呢?? 问题点数:20、回复次数:4Top

1 楼wanamaker()回复于 2004-08-03 11:47:33 得分 10

需要设随机数种子  
  int   i;  
  srand(   (unsigned)time(   NULL   )   );  
  for(i=0;i<10;i++)  
  {  
  int   temp=rand();  
  printf("%d\n",temp);  
  }  
  Top

2 楼mycjing()回复于 2004-08-03 11:47:38 得分 2

需要设置随即种子。Top

3 楼bianliuwei(零点起飞)回复于 2004-08-03 11:53:30 得分 4

来迟了,还要加个  
  #include   <time.h>Top

4 楼photnman(唐唐)回复于 2004-08-03 12:41:29 得分 4

你没有变化的种子,直接调用rand()当然得到的数一样  
  需要用strand()得到变化的种子  
  int   main   (void)  
  {  
  srand((unsigned)time(NULL));  
  int   randnum   =   rand();  
  printf("%d\n",randnum);  
  return   0;  
  }  
  但是这种伪随机序列规律性还是比较强,如果有特殊要求,可以用别的算法  
  Top

相关问题

  • 如何产生随机数?
  • 如何产生随机数???
  • 怎样产生随机数?
  • 怎么产生随机数?
  • 随机数的产生问题
  • 怎样按概率产生随机数?
  • 如何产生不同的随机数
  • 怎样产生真正的随机数?
  • 产生随机数遇到的问题
  • 关于随机数产生的问题!

关键词

  • randnum
  • 种子
  • rand
  • 得到

得分解答快速导航

  • 帖主:java_hero
  • wanamaker
  • mycjing
  • bianliuwei
  • photnman

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo