代码生成( 用C语言生成0~999 999(均包含,或者更大范围)之间的随机整数20 000个,要求随机数都不相同(如相同,则需要去重复并重新生成当前随机数),即,得到20 000个两两不同的随机数。)
时间: 2023-11-13 10:04:37 浏览: 205
可以使用C语言中的rand()函数生成随机数,同时使用数组来存储已经生成的随机数,通过循环判断新生成的随机数是否与数组中已有的数重复,如果重复了就重新生成,直到得到20 000个不同的随机数为止。具体代码如下:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define MAX_NUM 1000000 // 生成随机数的最大值(不包含)
int main()
{
int nums[20000]; // 存储随机数的数组
int count = 0; // 已经生成的随机数个数
srand((unsigned int)time(NULL)); // 初始化随机数种子
while (count < 20000) {
int num = rand() % MAX_NUM;
int i;
// 判断是否与已有的数重复
for (i = 0; i < count; i++) {
if (nums[i] == num) {
break;
}
}
// 如果不重复,则将新数存入数组
if (i == count) {
nums[count++] = num;
}
}
// 输出生成的随机数
for (int i = 0; i < 20000; i++) {
printf("%d ", nums[i]);
}
return 0;
}
```
阅读全文