c语言怎么生成随机数并且生成的数都不同
时间: 2024-01-17 09:05:54 浏览: 76
c语言生成随机数的方法(获得一组不同的随机数)
5星 · 资源好评率100%
要在C语言中生成不同的随机数,可以使用rand()函数。但是,如果不做处理的话,生成的随机数可能会重复。以下是一种生成不同随机数的方法:
1. 使用srand()函数来设置随机数种子,可以使用时间作为种子,确保每次运行程序时生成的种子都是不同的。
2. 生成随机数时,可以使用rand()函数,得到一个0到RAND_MAX之间的随机数。
3. 对于每次生成的随机数,可以使用一个数组来记录已经生成的数,以便于后续的比较。
4. 如果生成的随机数已经存在于数组中,则重新生成一个新的随机数,直到得到一个未出现过的随机数为止。
以下是一个示例代码,可以生成不同的随机数:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define MAX_NUM 100
int main()
{
int i, j;
int nums[MAX_NUM];
int rand_num;
srand((unsigned)time(NULL));
for (i = 0; i < MAX_NUM; i++) {
do {
rand_num = rand() % 100;
for (j = 0; j < i; j++) {
if (nums[j] == rand_num) {
break;
}
}
} while (j < i);
nums[i] = rand_num;
printf("%d ", rand_num);
}
printf("\n");
return 0;
}
```
以上代码会生成100个0到99之间的不同的随机数,并打印出来。
阅读全文