c++ 随机数,浮点数据随机
2017-01-10 09:38
267 查看
使用rand函数获得随机数。rand函数返回的随机数在0-RAND_MAX(32767)之间。
例子:
/*
RAND.C: This program seeds the random-number generator
* with the time, then displays 10 random integers.
*/
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
void main( void )
{
int i;
/* Seed the random-number generator with current time so that
* the numbers will be different every time we run.
*/
srand( (unsigned)time(
NULL ) );
/* Display 10 numbers. */
for( i = 0; i < 10;i++ )
printf( " %6d\n", rand() );
}
在调用这个函数前,最好先调用srand函数,如srand( (unsigned)time( NULL ) ),这样可以每次产生的随机数序列不同。
如果要实现类似0-1之间的函数,可以如下:
double randf()
{
return (double)(rand()/(double)RAND_MAX);
}
如果要实现类似Turbo C的random函数,可以如下:
int random(int number)
{
return (int)(number/(float)RAND_MAX
* rand());
}
例子:
/*
RAND.C: This program seeds the random-number generator
* with the time, then displays 10 random integers.
*/
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
void main( void )
{
int i;
/* Seed the random-number generator with current time so that
* the numbers will be different every time we run.
*/
srand( (unsigned)time(
NULL ) );
/* Display 10 numbers. */
for( i = 0; i < 10;i++ )
printf( " %6d\n", rand() );
}
在调用这个函数前,最好先调用srand函数,如srand( (unsigned)time( NULL ) ),这样可以每次产生的随机数序列不同。
如果要实现类似0-1之间的函数,可以如下:
double randf()
{
return (double)(rand()/(double)RAND_MAX);
}
如果要实现类似Turbo C的random函数,可以如下:
int random(int number)
{
return (int)(number/(float)RAND_MAX
* rand());
}
相关文章推荐
- 有关C++中随机函数rand() 和srand() 的用法详解
- C++11
- C语言如何打印LOG
- C++ Assert()断言机制原理以及使用方法
- C++静态成员变量和静态成员函数的使用方法总结
- vector基础使用
- C语言中Static的一个功能特性
- C++11中的多线程开发
- LeetCode - 204. Count Primes - 埃拉托斯特尼筛法 95.12% - (C++) - Sieve of Eratosthenes
- 二叉树的三种遍历(C语言写的)
- C++ 汉诺塔程序实现
- Parasoft C++test使用教程:测试用例生成(上)
- C++拓展笔记1-1:浅谈C++指针变量与const关键字
- C/C++ OpenCV五种滤波器综合示例
- 【C++11学习笔记】返回类型后置语法
- 【C语言】编写一个函数返回参数二进制中1的个数。
- C++类设计原则
- GeekBand c++有感
- C++创建进程
- C语言指针学多了,为什么你会晕乎乎的?