1. 用c语言生成0~999 999(均包含,或者更大范围)之间的随机整数20 000个,要求随机数都不相同(如相同,则需要去重复并重新生成当前随机数),即,得到20 000个两两不同的随机数。
时间: 2024-02-15 22:01:18 浏览: 71
可以用C语言中的rand()函数来生成随机数,但是需要注意的是rand()生成的随机数是伪随机数,不具有真正的随机性。为了让生成的随机数更加随机,可以使用当前时间作为随机数种子。另外,为了避免重复,可以将已经生成的随机数存储在一个数组中,每次生成新的随机数时,检查该数是否已经存在于数组中,如果存在则重新生成,直到得到一个不重复的随机数。
下面是一个生成20,000个不重复随机数的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define MAX_NUM 1000000
#define NUM_COUNT 20000
int main()
{
int nums[NUM_COUNT] = {0};
int i, j, rand_num;
srand((unsigned int)time(NULL)); // 设置随机数种子为当前时间
for (i = 0; i < NUM_COUNT; i++) {
do {
rand_num = rand() % MAX_NUM; // 生成0~999999的随机数
for (j = 0; j < i; j++) {
if (rand_num == nums[j]) {
break; // 如果随机数已经存在,则重新生成
}
}
} while (j < i);
nums[i] = rand_num; // 将生成的随机数存储到数组中
printf("%d ", rand_num); // 输出随机数
}
return 0;
}
```
这段代码将生成20000个0~999999之间不重复的随机数,并将它们输出到控制台。
阅读全文