-2

可能重复:
在 C 中,如何从 rand() 中获取特定范围的数字?
生成范围内的随机数?

我被困在如何使用 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");
}   
4

1 回答 1

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

于 2013-01-28T00:33:26.323 回答