21xrx.com
2024-12-23 02:52:02 Monday
登录
文章检索 我的文章 写文章
C++随机生成10个1~100的唯一数
2023-07-04 17:59:40 深夜i     --     --
C++ 随机生成 10个 1~100 唯一数

C++是一种强大的编程语言,提供了许多有用的功能,其中之一就是随机数生成器。在本文中,我们将探讨如何使用C++来生成10个1~100的唯一数。

首先,我们需要包含C++的标准库头文件 。这将使我们能够使用rand()函数和srand()函数,这些函数用于生成随机数。

接下来,我们需要定义一个数组来储存我们生成的随机数。我们选择一个长度为10的数组,并将其中所有的元素初始化为0,以便稍后判断数组中是否已经存在该数。

然后,我们使用srand()函数来设置随机数生成器的种子。这个种子可以是任何整数,通常使用time(0)函数的返回值来作为种子,以保证每次运行程序生成的随机数都是不同的。

接下来,我们使用一个for循环来生成10个随机数。在每次循环中,我们使用rand()函数来生成1~100之间的随机数,然后使用一个while循环来检查该数是否已经在数组中存在。如果该数已经存在,我们就再次生成另一个随机数;否则,我们将该数存储在数组中。

最后,我们使用一个for循环来打印我们生成的10个唯一数。

下面是完整的代码示例:


#include <iostream>

#include <cstdlib>

#include <ctime>

using namespace std;

int main()

{

  int nums[10] = {0}; // 初始化数组

  srand(time(0)); // 设置种子

  for (int i = 0; i < 10; i++)

  {

    int num = rand() % 100 + 1; // 生成1~100之间的随机数

    while (nums[num] != 0) // 检查数组中是否已经存在该数

    {

      num = rand() % 100 + 1; // 如果存在,则重新生成随机数

    }

    nums[num] = 1; // 存储随机数

  }

  // 打印数组中的唯一数

  for (int i = 0; i < 10; i++)

  {

    if (nums[i] != 0)

    

      cout << i << " ";

    

  }

  return 0;

}

在上面的代码中,我们使用了rand()函数来生成随机数,并使用%运算符来将生成的随机数限制在1~100之间。然后,我们使用while循环来检查该数是否已经在数组中存在,检查的方法是查看数组中该数所对应的元素是否为0。最后,我们将该数存储在数组中,并在使用第二个for循环遍历数组时打印出所有的唯一数。

在编写完以上代码并执行后,您会得到10个1~100之间的唯一数作为输出。这个程序可以用于各种目的,比如生成一个密码、彩票号码或者其他需要随机生成的唯一数的应用场景。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复
    相似文章