参考原文:C++产生随机数 (整数)
C++在图片特定区域之外产生随机数,避开正则表达式,可以分为两种情况。
第一种:在某个数之前生成随机数;第二种,生成随机数,加上某个数,然后截断;第三种,指定范围内生成随机数;
1.在某个数之前生成随机数
int Thres; //产生[0, dis)之间的随机数,注意不包括dis printf( "%d ", Random( Thres ) );
2.在两个数之间生成随机数
int Random(int m, int n) { int pos, dis; if (m == n){ return m; } else if (m > n){ pos = n; dis = m - n + 1; return rand() % dis + pos; } else { pos = m; dis = n - m + 1; return rand() % dis + pos; } }
测试代码:
int TestRand(int argc, _TCHAR* argv[]) { srand((int)time(NULL));//用于随机 随机种子 int m = 7; int n = 23; for (int i = 0; i < 100; ++i) { float f = Random(m, n); std::cout << f << std::endl; } return 1; }
产生浮点数随机数