c语言随机生成不重复的数字
时间: 2023-07-29 14:11:25 浏览: 99
在 C 语言中,可以通过以下步骤生成不重复的随机数:
1. 定义一个数组用于存储生成的随机数。
2. 使用 srand 函数初始化随机数种子。
3. 使用 rand 函数生成随机数,并将其存入数组。
4. 检查新生成的随机数是否与数组中已有的值重复,如果重复则重新生成。
5. 重复步骤 3 和 4 直到数组中存满指定数量的随机数。
以下是一段示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define ARRAY_SIZE 10
int main() {
int rand_array[ARRAY_SIZE];
int i, j, rand_num;
srand(time(NULL)); // 初始化随机数种子
for (i = 0; i < ARRAY_SIZE; i++) {
do {
rand_num = rand() % 100; // 生成 0~99 的随机数
// 检查新生成的随机数是否与数组中已有的值重复
for (j = 0; j < i; j++) {
if (rand_array[j] == rand_num) {
break;
}
}
} while (j < i); // 如果重复则重新生成
rand_array[i] = rand_num;
printf("%d ", rand_num);
}
return 0;
}
```
以上代码会生成 10 个不重复的 0~99 的随机数并输出。
阅读全文