21xrx.com
2024-12-22 22:24:22 Sunday
登录
文章检索 我的文章 写文章
如何在c语言中生成不重复的随机数
2023-06-18 01:44:47 深夜i     --     --
c语言 不重复 随机数 数组 循环

在c语言中,使用rand()函数来生成随机数,但是这些随机数往往有可能会重复,这就不利于我们使用。那么,有没有方法可以生成不重复的随机数呢?答案是肯定的。

我们可以使用数组来存储已经生成的随机数,每次生成一个新的随机数时,先判断该数是否已经出现过,如果出现过,则重新生成,直到生成一个未出现过的数为止。

下面是代码示例:


#include

#include

#include

int main()

{

  int num[10], i, j, tmp;

  srand((unsigned)time(NULL)); //设置时间种子

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

  {

    num[i] = rand() % 100 + 1;

    for (j = 0; j < i; j++)

    {

      if (num[j] == num[i]) //判断是否重复

      

        i--;

      

    }

  }

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

  {

    printf("%d ", num[i]);

  }

  return 0;

}

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复