这个问题已经在这里有了答案:

这是我的代码

 #include <stdio.h>
 #include <stdlib.h>


 main()
 {
    int r = rand() % 20;
    printf("%d", r);
 }

我想得到一个19及以下的随机数,但是每次编译并运行它时,它只会给我1 有人可以告诉我我在做什么错吗?

===============>>#1 票数:1 已采纳

尝试

#include <stdio.h>
#include <stdlib.h>


 int main()
 {
    srand(time(NULL));
    int r = rand() % 20;
    printf("%d", r);
 }

注意:使用%并不是获得均匀分布的好方法。
请参阅: 推荐初始化srand的方法? 有关更多信息。

===============>>#2 票数:0

阅读有关播种随机数生成器的信息-即http://linux.die.net/man/3/srand

===============>>#3 票数:0

如果您使用的是Turbo C ++ 4.5,则将

randomize();

之前

int r=rand()%20;

它也会给您想要的结果。

  ask by samir translate from so

未解决问题?本站智能推荐:

3回复

C-10到30之间的随机数[重复]

这个问题在这里已有答案: 在 16个答案 的整个范围内均匀生成随机数 如何从 11个答案 范围内生成随机整数 我有polje[i]=rand()%30+1; 介于1到30之间,但是我如何才能做到10到30之间呢?
2回复

while循环中的随机数[C编程] [重复]

这个问题在这里已有答案: C ++随机int函数 3答案 我试图在每次循环发生时创建2个随机数(0-4和0-10之间),但它总是给出相同的数字。 如果我多次运行程序,它会给出不同的数字,但是while循环总是生成相同的2个数字。 谢谢。
8回复

我需要在C中生成随机数[重复]

可能重复: 如何在C中生成随机数? rand()的实现 在Blender3D中生成随机地形 我需要C中的高质量随机数,但我不知道该怎么做。 我需要能够从1-100获得数字。 任何帮助或可能指向我可以找到帮助的地方。
3回复

C中的远程随机数[重复]

可能重复: 如何从范围内生成随机数-C 我正在寻找可以在C中使用的东西,该东西可以给我一个介于a和b之间的随机数。 所以像rand(50)这样的数字会给我1到50之间的数字。
4回复

随机数生成器目标c [重复]

可能重复: 如何生成介于0和1之间的随机浮点数? 我想生成一个介于0和1(均匀分布)之间的随机数,我使用: 但是,这仅产生0.00000 我用了 它在间隔中返回一个随机数,但我不确定它是否均匀分布。 为什么第一个功能不能按预期工作?
1回复

c中从0到1的统一随机数[重复]

这个问题已经在这里有了答案: srand()—为什么只调用一次? 7个答案 我想对一个排队模型进行仿真。因此,当我的随机数<=从阈值开始时,我想我已经到达了,或者如果我的随机数>我想我已经出发了。问题是当我使用时: 我看到它多次打印相同的数字,
1回复

使用非重复随机数(C中)

我被分配创建一个非重复数字生成器,该生成器生成7个数字。 我已经使用了rand函数。 但是不确定如何确保数字不是重复的。 谢谢您的帮助
6回复

生成唯一的随机数,除了C中的特定随机数[重复]

这个问题在这里已有答案: O(1)中的唯一(非重复)随机数? 21个答案 我想知道,除了特定的随机数之外,我怎么能生成独特的随机数。 例如,如果我想生成范围1 to 10 except from 3数字, 1 to 10 except from 3 ,输出应该是
1回复

C中没有重复项的随机数数组

我正在尝试使用以下方法创建无重复的随机整数数组生成器: 该代码试图通过一一检查元素来在给定的nbit内生成唯一的随机整数。 但是,我仍然在结果中得到重复,并且我还没有弄清楚为什么。 我知道使用这种方法生成唯一的随机数是一种不好的做法,但是我的作业要求要求我以某种方式使用nbits参数
2回复

在C / C ++中实现随机数生成器[重复]

这个问题在这里已有答案: 可以使用rand()来生成可预测的数据吗? 4个答案 我对C中随机数生成器的实现感到有些困惑,这也明显不同于C ++中的 如果我理解正确的话,对'srand(seed)'的调用会以某种方式初始化一个可由'rand()'访问的隐藏变量