C语言生成不重复随机数
时间: 2024-04-09 15:23:21 浏览: 143
生成不重复随机数的算法
以下是C语言生成不重复随机数的代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void main() {
int a_max, a_min, n;
printf("请输入这组随机数最大值:");
scanf("%d", &a_max);
printf("请输入这组随机数最小值:");
scanf("%d", &a_min);
n = a_max - a_min + 1;
int a[n], m, i, j;
srand(time(NULL));
a[0] = rand() % n + a_min;
for (i = 1; i < n; i++) {
while (1) {
int s = 0;
m = rand() % n + a_min;
for (j = 0; j < i; j++) {
if (m == a[j]) s = 1;
}
if (s == 0) break;
}
a[i] = m;
}
for (i = 0; i < n; i++) {
printf("%d\n", a[i]);
}
}
```
该代码使用了C语言的rand()函数生成随机数,并通过循环判断是否重复,保证了生成的随机数不重复。
阅读全文