帮我写一个C语言随机生成数字的代码,要求改代码是函数类型的可插入其他代码中
时间: 2024-03-11 10:51:20 浏览: 66
好的,以下是使用C语言生成随机数的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int* generate_random_nums(int length, int min, int max){
int* nums = (int*)malloc(length * sizeof(int)); // 分配内存空间
srand((unsigned)time(NULL)); // 设置随机数种子
for (int i=0; i<length; i++){
nums[i] = rand() % (max - min + 1) + min; // 生成[min, max]范围内的随机整数
}
return nums;
}
int main(){
int length = 100;
int min = 1;
int max = 1000;
int* random_nums = generate_random_nums(length, min, max); // 生成100个随机数
// 输出结果
for (int i=0; i<length; i++){
printf("%d ", random_nums[i]);
}
printf("\n");
free(random_nums); // 释放内存空间
return 0;
}
```
这段代码定义了一个名为`generate_random_nums`的函数,它接收3个参数:随机数的个数`length`、最小值`min`和最大值`max`,它会返回一个指向生成的随机数数组的指针。
该函数使用了`stdlib.h`和`time.h`头文件中的函数来生成随机数。首先,它使用`srand`函数设置随机数种子,以确保每次运行程序时生成的随机数都不同。然后,使用`rand`函数生成随机数,并对它们进行了最小值和最大值的限制,以确保它们在[min, max]范围内。
在`main`函数中,调用了`generate_random_nums`函数来生成100个随机数,并使用循环将它们打印出来。最后,通过`free`函数释放了内存空间。
你可以将这个函数插入到其他C语言程序中,以生成随机数。
阅读全文