用C的rand函数随机生成若干个(例如20-100个)在某个区间(例如[0, 10000])之间的整数保存数组中,以此数组元素作为关键字,
时间: 2024-09-27 22:14:04 浏览: 48
在C语言中,你可以使用`<stdlib.h>`库中的`rand()`函数配合`<time.h>`库的`srand()`和`time()`函数来生成随机数。下面是一个简单的示例,它会生成20到100个随机整数并存储在一个数组中:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define MIN_NUM 0
#define MAX_NUM 10000
#define NUM_TO_GENERATE (20 + rand() % 81) // 随机生成20到100个数
int main() {
srand(time(0)); // 设置随机种子,确保每次程序运行得到不同的随机序列
int random_array[NUM_TO_GENERATE];
int i = 0;
while (i < NUM_TO_GENERATE) {
random_array[i] = rand() % (MAX_NUM - MIN_NUM + 1) + MIN_NUM; // 生成[0, 10000]范围内的随机数
i++;
}
printf("Random numbers generated: \n");
for (int j = 0; j < NUM_TO_GENERATE; j++) {
printf("%d ", random_array[j]);
}
printf("\n");
return 0;
}
```
在这个例子中,我们首先设置了一个随机种子,然后在一个循环中生成随机数,直到达到指定的数量。注意,为了获得20到100个数,我们使用了模运算(`%`)和`rand()`的结果。
阅读全文