【编程开发】C语言中随机数rand使用注意事项
2015-11-06 14:03
661 查看
【编程开发】C语言中随机数rand使用注意事项
标签: 【编程开发】声明:引用请注明出处http://blog.csdn.net/lg1259156776/
说明:随机数在编程开发中非常重要,以C语言中的rand函数为例,使用时需要注意随机数的随机体现在哪里,比如是程序在不同的时刻执行时,相同位置的随机数是否需要一样,还是要每次执行生成的随机数也要不一样,等等,这些都是需要加以关注的地方。
经测试,发现,在不使用srand这个随机数种子的情况下:每次运行生成的随机数都是一样的。有的时候是需要这样子的,当然可以直接使用srand来操作,在某些个位置需要固定某些随机数的时候,可以给srand辅以相同的参数,那么他生成的随机数列就是相同的;
#include<stdio.h> #include<stdlib.h> #include<time.h> void main(int seed) { int i, num; srand((unsigned int)time(NULL)); for(i = 0; i < 10; i++) { num = rand()%100; printf("%d ",num); } printf("\n"); printf("This is a hello world!\n"); }
下面的代码可以参考,当设置相同的随机数种子的时候,得到的随机数列是相同的:
#include<stdio.h> #include<stdlib.h> #include<time.h> void main(int seed) { int i, num; // srand((unsigned int)time(NULL)); srand(1000); for(i = 0; i < 10; i++) { num = rand()%100; printf("%d ",num); } printf("\n"); srand(2000); for(i = 0; i < 10; i++) { num = rand()%100; printf("%d ",num); } printf("\n"); srand(1000); for(i = 0; i < 10; i++) { num = rand()%100; printf("%d ",num); } printf("\n"); printf("This is a hello world!\n"); }
当然,要保证每次运行时生成的随机数都不一样,最好还是调用time函数来根据执行时候的时间初始化随机数种子,这样的话,能够很好地保证每次执行都能生成不同的随机数。
2015-11-06 调试记录 张朋艺
相关文章推荐
- c++中获取代码运行时间
- c++ 封装string
- c++builder调用vc的dll
- c与c++d的typedef
- 迭代快速算平方根的c++程序(Carmack的QUAKE3)
- C++ 实用的小程序
- 字符串压缩功能的实现
- MSBUILD : error MSB3428: 未能加载 Visual C++ 组件“VCBuild.exe”。
- leetcode笔记:Interlaving String
- [BCB] C++ Builder 绘图 绘制直线 —— 基于像素
- C++ string操作汇总
- 大学期间的所有课设及大作业源码
- c++ delete的用法小结,二维多维new,类[]的delete[]
- 开始记录下学习之路 c++ 拷贝构造函数
- C/C++之回调函数
- C/C++中的字符串和字符数组
- C++ Primer 学习笔记_26_标准I/O库(续) --文件的输入与输出、字符串流
- C++ Primer 学习笔记_25_标准I/O库 --面向对象的标准库、条件状态、输出缓冲区的管理
- C++ Primer 学习笔记_24_函数(续3) --重载函数、指向函数的指针
- C++ Primer 学习笔记_23_函数(续2) --局部对象、内联函数、类的成员函数