gpt4 book ai didi

c++ - 具有不同输出的随机数

转载 作者:搜寻专家 更新时间:2023-10-31 01:46:46 25 4
gpt4 key购买 nike

我尝试用不同的输出随机抽取 20 个数字,但它仍然包含相同的数字。这是代码:

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

void main(){
int arr[20];
srand(time(NULL));
int temp;

temp=rand()%20;

int x=0;



while(x<20)
{
if(x==0)
{
arr[x]=temp;
x++;
}
else
{
for(int j=1;j<=x;j++)
{
do
{
temp=rand()%20;
} while(temp==arr[x-j]);
}
arr[x]=temp;
x++;
}
}

for(int i=0;i<20;i++)
{
printf("%d. %d \n",i,arr[i]);
}



}

这是输出:

  1. 10
  2. 1
  3. 6
  4. 2 <-- repeated
  5. 13
  6. 19
  7. 2 <--
  8. 19
  9. 4
  10. 19
  11. 14
  12. 18
  13. 12
  14. 2 <--
  15. 17
  16. 15
  17. 0
  18. 1
  19. 18
  20. 8

提前致谢:D

最佳答案

#include <vector>
#include <algorithm>
...
vector<int> vec;
for (int i=0; i < 20; ++i) vec.push_back(i);

random_shuffle(vec.begin(), vec.end());

关于c++ - 具有不同输出的随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20214221/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com