c++生成随机数且不能重复
时间: 2023-11-03 17:00:08 浏览: 253
C++生成不重复的随机整数
5星 · 资源好评率100%
好的,这个问题我可以回答。你可以使用C语言中的rand函数生成随机数,并且使用数组来记录已经生成过的随机数,以确保不会重复。具体实现方式可以参考以下代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define MAX_NUM 10 // 生成 0~9 中的随机数
#define NUM_COUNT 5 // 生成 5 个随机数
int main() {
int nums[MAX_NUM] = {0}; // 记录已经生成过的随机数
int count = 0; // 已经生成的随机数个数
srand((unsigned)time(NULL)); // 初始化随机数发生器
while (count < NUM_COUNT) {
int rand_num = rand() % MAX_NUM; // 生成随机数
if (nums[rand_num] == 0) { // 如果这个随机数没有被生成过
nums[rand_num] = 1; // 标记这个随机数已经被生成过
printf("%d ", rand_num);
count++;
}
}
return 0;
}
```
运行这段代码会输出生成的 5 个随机数,且这五个随机数不会重复。
阅读全文