C语言中生成随机数的另类实现
2015-04-18 11:26
197 查看
请描述random(a, b) 过程的一种实现,它只调用random(0,1)。
意思就是说,你用一个只返回0和1这两个随机数的函数来实现一个能返回a,b间任意数的一个随机函数。实现如下:
1 2 4 4 4 2 2 0 3 2
3 4 2 2 2 3 5 1 2 3
0 3 2 3 3 1 4 3 2 5
1 3 3 5 3 1 3 2 2 2
2 2 4 4 3 2 1 2 4 4
3 4 2 3 1 2 0 2 3 2
4 4 3 2 3 4 2 3 1 3
4 3 5 2 3 3 2 1 3 3
1 4 4 4 0 4 4 3 2 3
2 1 3 3 4 2 3 2 1 3
意思就是说,你用一个只返回0和1这两个随机数的函数来实现一个能返回a,b间任意数的一个随机函数。实现如下:
#include <stdio.h> #include <conio.h> #include <stdlib.h> #include <time.h>//时间相关 int Random(int a, int b) { int i; int ram = a; for (i = 0; i < b-a; i++) { ram += rand()%2;//从起点做累加就可以了,其中rand()%2返回0或1 } return ram; } int main(int argc, char* argv[]) { int i; srand((unsigned)time(NULL)); for (i = 0; i <100; i++) { printf("%d\t",Random(0,5)); } getch(); return 0; }打印结果如下:
1 2 4 4 4 2 2 0 3 2
3 4 2 2 2 3 5 1 2 3
0 3 2 3 3 1 4 3 2 5
1 3 3 5 3 1 3 2 2 2
2 2 4 4 3 2 1 2 4 4
3 4 2 3 1 2 0 2 3 2
4 4 3 2 3 4 2 3 1 3
4 3 5 2 3 3 2 1 3 3
1 4 4 4 0 4 4 3 2 3
2 1 3 3 4 2 3 2 1 3
相关文章推荐
- C语言中随机数的生成,以及简单猜数游戏的实现。
- C#实现的不重复随机数序列生成算法
- matlab中fspecial中生成高斯模板的解释以及c语言实现
- 数据结构之---C语言实现最小生成树之kruskal(克鲁斯卡尔)算法
- 数据结构之---C语言实现最小生成树之prim(普里姆)算法
- c语言生成随机数的方法(获得一组不同的随机数)
- c语言如何生成随机数
- C语言如何生成规定范围内的随机数
- 随机生成指定长度字符字符串(C语言实现)
- 一个UUID生成算法的C语言实现——WIN32版本
- 给你一个能生成1到5随机数的函数,用它写一个函数生成1到7的随机数。 (即,使用函数rand5()来实现函数rand7())
- QT实现简单滚动随机数生成程序
- c语言中,随机数的生成,随机ID的原理及利用
- C语言每日一函数之2:生成随机数(含STM32/STM8使用AD获取随机数)
- Java中生成随机数的实现方法总结
- 数据结构之---C语言实现最小生成树之prim(普里姆)算法
- 生成一个一维数组,有10个元素,都用随机数填充,用指针轮询的办法实现函数查找一个数是否存在。
- 自动生成Jni中Java调用C语言实现的签名函数名
- JS实现的生成随机数的4个函数分享
- win7环境下实现cl.exe编译c语言 生成.i .asm .obj .exe 文件