对在 C 语言中使用 srand 生成随机数的方法的疑问

发布于 科技 2024-06-10
4个回答
  1. 匿名用户2024-01-29

    A:rand() 生成的数字是随机的,但就个位数而言,是否随机取决于你的取值范围,比如取值范围是 0-18,它们之间出现每个数字的概率是一样的,但就个位数而言,9 的概率明显小于其他数字。

    B:了解了上述问题后,它提出的解决方案是将取值范围划分为10段,每段对应0到9之间的一个数字,如0-18,可以分成对应的数字0,对应的数字1,......

    rand() 返回 0-rand max(rand max > = 32767),这对于精度要求不高的程序来说概率差不大,可以这样写。

  2. 匿名用户2024-01-28

    rand()%10 返回 0 9 表示总共 10 个段,这就是书中所说的 srand() 生成 10 个段。

    另外,这句话是对算法的改进,因为你也知道 rand()%10 生成一个个位数,也就是书中提到的低十进制数,随机性不好,所以应该改成 rand()% (rand max 10)。

  3. 匿名用户2024-01-27

    总结。 以下是使用 rand() 和 srand() 函数生成三个 [16, 64] 整数以确定是否存在两个相等的数字**(C++ 语言)的示例: cppcopy 代码 include include using namespace std; int main() else return 0;在上面的**中,我们首先使用 srand(time(null)) 函数来设置随机数种子,使得每次运行程序时生成的随机数都不同。

    然后,使用 rand() 函数在三个 [16, 64] 之间生成随机整数,以确定是否存在两个相等的数字,最后输出结果。

    使用随机函数宽笨 rand( ) 和 srand( ) 生成三个 [16,64] 屏蔽整数,仔细伴随这三个数字的输出,确定这三个整数中是否存在两个相等的数字,有输出“是”,没有输出“否”。

    以下是使用 rand() 和 srand() 函数生成三个 [16, 64] 整数以确定是否存在两个相等的数字**(C++ 语言)的示例: cppcopy 代码 include include using namespace std; int main() else return 0;在上面的**中,我们首先使用 srand(time(null)) 函数来设置随机数种子,使得每次运行程序时生成的随机数都不同。 然后,使用 rand() 函数在三个 [16, 64] 之间生成随机整数,以确定是否存在两个相等的数字,最后输出结果为早期。

    亲爱的,我看不出你发来的东西,如果你有任何问题,请用文字详细描述,好吗? 谢谢!

  4. 匿名用户2024-01-26

    让我们看一下下面对 rand() 和 srand() 的解释。

    1.在标准 C 库中,函数 rand() 可以在 0 rand max 之间生成一个随机数,其中 rand max 是 中定义的整数,与系统相关。

    该函数没有输入参数,由表达式 rand() 直接引用; 例如,您可以使用以下语句打印两个随机数:

    printf("random numbers are: %i %i",rand(),rand())

    因为 rand() 函数是按照指定的顺序生成整数的,所以每次执行上述语句时都会打印相同的两个值,所以 C 语言的随机性并不是真正的随机性,有时被称为伪随机性。

    3.为了让程序在每次执行时为新序列生成一个随机值,我们通常通过向随机数生成器提供新的随机种子来做到这一点。 函数 srand() (可以从中播种用于随机数生成器的种子。

    只要种子不同,rand() 函数就会产生不同的随机数序列。 srand() 称为随机数生成器的初始值设定项。

    所以在你的第一个例子中,种子不起作用。

    第二个例子是一般使用随机数生成。

相关回答
11个回答2024-06-10

在 VC 中,有两个函数可以设计为随机数。

srand() and rand() >>>More

5个回答2024-06-10

方法一:使用srand函数; srand 函数可以以两种不同的方式使用:直接输入随机数种子并使用系统时间初始化随机数种子; >>>More

14个回答2024-06-10

1.随机类的下一个方法,在两个整数之间生成一个随机数。 语法格式为: >>>More

13个回答2024-06-10

当然,你可以做计算。

#include >>>More

6个回答2024-06-10

审判部门 首先要介绍的当然不是"审判庭"仅此而已。 考虑到有些读者是菜鸟,请解释一下。 >>>More