如果我想用c++生成20个不重复的随机数,该怎么做
时间: 2024-05-05 19:20:25 浏览: 111
以时间为种子生成随机数
您可以使用C语言中的rand()函数来生成随机数,并使用数组来保存生成的随机数。接下来,您可以使用循环来生成20个不重复的随机数,例如:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int random[20]; // 保存随机数的数组
int i, j, temp;
srand(time(0)); // 设置随机数种子
// 循环生成20个不重复的随机数
for (i = 0; i < 20; i++) {
do {
temp = rand() % 20 + 1; // 生成1到20之间的随机数
// 判断是否已经生成过
for (j = 0; j < i; j++) {
if (random[j] == temp) {
break;
}
}
} while (j < i);
random[i] = temp; // 保存随机数
}
// 输出随机数
for (i = 0; i < 20; i++) {
printf("%d ", random[i]);
}
return 0;
}
```
以上代码可以生成20个不重复的1到20之间的随机数,并输出到屏幕上。
阅读全文