用C写一个自动生成包含数百、数千、数万随机正整数的若干集合的函数
时间: 2023-06-16 17:06:03 浏览: 78
用C编写的随机数的产生的函数
以下是一个示例程序,可以生成包含数百、数千、数万随机正整数的若干集合:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
// 生成随机正整数
int random_int(int min, int max) {
return min + rand() % (max - min + 1);
}
// 生成包含随机正整数的集合
int* generate_set(int size, int min, int max) {
int* set = (int*) malloc(size * sizeof(int));
for (int i = 0; i < size; i++) {
set[i] = random_int(min, max);
}
return set;
}
int main() {
srand(time(NULL)); // 初始化随机数生成器
// 生成包含数百、数千、数万随机正整数的若干集合
int set_sizes[] = {100, 1000, 10000};
int min_int = 1, max_int = 10000;
for (int i = 0; i < sizeof(set_sizes) / sizeof(int); i++) {
int size = set_sizes[i];
int* set = generate_set(size, min_int, max_int);
printf("Set %d: {", i + 1);
for (int j = 0; j < size; j++) {
printf("%d", set[j]);
if (j < size - 1) {
printf(", ");
}
}
printf("}\n");
free(set);
}
return 0;
}
```
该程序通过 `random_int` 函数生成指定范围内的随机正整数,通过 `generate_set` 函数生成指定大小的包含随机正整数的集合。在 `main` 函数中,可以通过指定 `set_sizes` 数组来生成不同大小的集合,通过指定 `min_int` 和 `max_int` 来控制随机数的范围。最后,程序遍历集合并输出集合中的每个元素。注意,由于该程序使用了动态内存分配,需要在使用完集合后调用 `free` 函数释放内存。
阅读全文