如何使用范围为C的rand()函数

时间:2013-01-28 00:30:08

标签: c

  

可能重复:
  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");
}   

1 个答案:

答案 0 :(得分:3)

如果结果在范围内,则强制,而不是检查,而不是强制结果在您想要的范围内:

int HIGH = 100;
int LOW = 67;
int rnd = LOW + (rand() % (HIGH-LOW));

rnd的值介于LOWHIGH-1之间,包括在内。

如果您不想将数字强制到范围内,请将条件更改为

if(x>=67.00 && x<=99.99)

目前,else属于内部if,因此当数字小于printf时,第二个67不会发生。