C语言编写 construct 函数,创建一个 n × n 的二维数组,数组中的每个元素都是一 个[-1,1]之间的小数
时间: 2024-03-21 17:41:55 浏览: 16
以下是一个示例 C 语言代码,用于创建一个 n × n 的二维数组,其中每个元素都是一个 [-1,1] 之间的小数:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
// 构造函数,用于创建一个 n × n 的二维数组,其中每个元素都是一个 [-1,1] 之间的小数
double **construct(int n) {
double **arr = (double **)malloc(n * sizeof(double *));
for (int i = 0; i < n; i++) {
arr[i] = (double *)malloc(n * sizeof(double));
for (int j = 0; j < n; j++) {
arr[i][j] = ((double)rand() / (double)RAND_MAX) * 2 - 1;
}
}
return arr;
}
int main() {
srand(time(NULL));
int n = 3;
double **arr = construct(n);
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
printf("%.2f ", arr[i][j]);
}
printf("\n");
}
return 0;
}
```
在这个示例代码中,我们使用了 `malloc()` 函数来动态分配内存,以创建一个 n × n 的二维数组。我们使用了 `rand()` 函数来生成一个随机数,然后将其转换为一个 [-1,1] 之间的小数。最后,我们使用两个嵌套的循环来遍历整个数组,并将每个元素打印到控制台上。