C语言解决:给定抽取随机数的子函数表示从均匀分布U(0,1)里抽取n个随机数,存储在数组p里。本题要求从以上均匀里抽取1000随机数
时间: 2023-06-20 20:04:46 浏览: 161
以下是用C语言实现从均匀分布U(0,1)中抽取n个随机数并存储到数组中的函数:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void generateRandomNumbers(double p[], int n)
{
int i;
srand(time(NULL));
for (i = 0; i < n; i++) {
p[i] = (double)rand() / RAND_MAX;
}
}
```
在主函数中调用上述函数生成1000个随机数:
```c
#include <stdio.h>
int main()
{
double p[1000];
int i;
generateRandomNumbers(p, 1000);
for (i = 0; i < 1000; i++) {
printf("%f\n", p[i]);
}
return 0;
}
```
在本例中,我们使用C标准库中的rand函数来生成随机数,并使用srand函数初始化随机数生成器。生成的随机数在[0, 1)区间内均匀分布。最后,将生成的随机数存储在p数组中,并在主函数中打印输出。
阅读全文