代码生成(用C语言写一个用一门高级编程语言生成0~999 999(均包含,或者更大范围)之间的随机整数20 000个,要求随机数都不相同(如相同,则需要去重复并重新生成当前随机数),即,得到20 000个两两不同的随机数。)
时间: 2023-11-24 17:05:11 浏览: 74
C语言100例
以下是一个简单的 C 语言程序,使用 rand 函数生成随机数,并使用数组去重复:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define MAX_SIZE 20000
int main() {
int nums[MAX_SIZE];
int count = 0;
srand((unsigned)time(NULL)); // 初始化随机数种子
while (count < MAX_SIZE) {
int num = rand() % 1000000; // 生成 0~999999 的随机整数
int is_duplicate = 0;
for (int i = 0; i < count; i++) {
if (nums[i] == num) {
is_duplicate = 1;
break;
}
}
if (!is_duplicate) {
nums[count++] = num; // 将不重复的随机数加入数组
}
}
// 输出结果
for (int i = 0; i < MAX_SIZE; i++) {
printf("%d ", nums[i]);
}
printf("\n");
return 0;
}
```
该程序使用随机数种子初始化 srand 函数,并在 while 循环中生成随机数,并使用 for 循环遍历已生成的随机数数组,以判断是否有重复。如果已存在相同的随机数,则设置标志变量 is_duplicate 为 1,否则将当前随机数加入数组中。当数组中不重复的随机数达到 20000 个时,程序结束循环,并输出结果。
阅读全文