用C写1. 自动生成包含数百、数千、数万正整数的若干集合,作为构建不同规模查找表的基础;
时间: 2023-06-16 08:06:53 浏览: 70
以下是一个示例程序,可以用来生成包含数百、数千、数万正整数的集合:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define SET_SIZE 10000 // 集合大小
#define MAX_NUM 1000000 // 最大数值范围
int main() {
int set[SET_SIZE];
int i, j, num;
srand(time(NULL)); // 设置随机数种子
// 生成集合
for (i = 0; i < SET_SIZE; i++) {
do {
num = rand() % MAX_NUM + 1; // 生成随机数
for (j = 0; j < i; j++) {
if (num == set[j]) { // 检查是否已经存在
num = 0;
break;
}
}
} while (num == 0);
set[i] = num;
}
// 输出集合
for (i = 0; i < SET_SIZE; i++) {
printf("%d ", set[i]);
}
printf("\n");
return 0;
}
```
这个程序使用了 `rand()` 函数来生成随机数,并使用了一个数组来存储已经生成的数值,以确保集合中不会出现重复的元素。可以通过修改 `SET_SIZE` 和 `MAX_NUM` 来调整集合的大小和数值范围。
阅读全文