可能重复:
In C, how do I get a specific range of numbers from rand()?
Generate a random number within range?
我坚持如何使用rand()函数并包含该随机数的范围。我需要一个介于67.00和99.99之间的随机数才能打印。
这是我尝试过的,但却失败了......
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int x = rand();
if(x>=67.00)
if(x<=99.99)
printf("%d\n",x);
else
printf("not in range");
}
答案 0 :(得分:3)
如果结果在范围内,则强制,而不是检查,而不是强制结果在您想要的范围内:
int HIGH = 100;
int LOW = 67;
int rnd = LOW + (rand() % (HIGH-LOW));
rnd
的值介于LOW
和HIGH-1
之间,包括在内。
如果您不想将数字强制到范围内,请将条件更改为
if(x>=67.00 && x<=99.99)
目前,else
属于内部if
,因此当数字小于printf
时,第二个67
不会发生。