Nik*_*ita 0 c visual-studio-2013
这是从 (-1, 36) 生成随机数的正确方法吗?:
#include <stdio.h>
#include <stdlib.h>
#define RAND_MAX 36
int main()
{
int num = (-1) + (36 + 1) * (rand()/(RAND_MAX+1));
printf("%d\n", num);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
你知道如何获得零到范围内的随机数(范围内你想要的最大数字N在哪里N)?那么你知道如何生成范围数量-N来N为好。
只需生成范围0为 to2*N并减去 的数字N。
更新:要在-1to范围内生成一个数字36,那么您应该从0to生成37并减去1。
不过这两种情况的原理是一样的。
| 归档时间: |
|
| 查看次数: |
14243 次 |
| 最近记录: |