//改编自lua的math.random函数
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>
#define RAND_MAX 2147483647
#define lua_Number double
int math_random(int down_limit, int up_limit)
{
lua_Number r = (lua_Number)(rand() % RAND_MAX) / (lua_Number)RAND_MAX;
lua_Number l = down_limit;
lua_Number u = up_limit;
lua_Number ret = floor(r * (u - l + 1 ) + l);
return (int)ret;
}
int main(int argc, char* argv[])
{
srand(time(NULL));
printf("RAND_MAX %d\n", RAND_MAX);
int i = 0;
for (i = 0; i < 100; ++i) {
int ret = math_random(-3, 3);
printf("%d\n", ret);
}
return 0;
}
C随机范围内的数字
最新推荐文章于 2024-04-28 11:47:04 发布
本文介绍了一个使用C语言实现的随机数生成函数,该函数基于Lua的math.random函数进行改编,能够生成指定范围内的随机整数。代码示例展示了如何初始化随机数生成器并调用该函数生成一系列随机数。
1万+

被折叠的 条评论
为什么被折叠?



