输出m*n阶矩阵A和B,用函数编程计算并输出A与B之和,用C语言编程
时间: 2024-03-08 19:50:59 浏览: 102
以下是用C语言实现的函数,可以生成 m*n 的随机矩阵 A 和 B,并计算它们的和:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void add_matrix(int m, int n) {
int i, j;
int **A, **B, **C;
A = (int**) malloc(m * sizeof(int*));
B = (int**) malloc(m * sizeof(int*));
C = (int**) malloc(m * sizeof(int*));
for (i = 0; i < m; i++) {
A[i] = (int*) malloc(n * sizeof(int));
B[i] = (int*) malloc(n * sizeof(int));
C[i] = (int*) malloc(n * sizeof(int));
}
srand(time(0));
printf("Matrix A:\n");
for (i = 0; i < m; i++) {
for (j = 0; j < n; j++) {
A[i][j] = rand() % 10;
printf("%d ", A[i][j]);
}
printf("\n");
}
printf("Matrix B:\n");
for (i = 0; i < m; i++) {
for (j = 0; j < n; j++) {
B[i][j] = rand() % 10;
printf("%d ", B[i][j]);
}
printf("\n");
}
printf("Matrix C = A + B:\n");
for (i = 0; i < m; i++) {
for (j = 0; j < n; j++) {
C[i][j] = A[i][j] + B[i][j];
printf("%d ", C[i][j]);
}
printf("\n");
}
for (i = 0; i < m; i++) {
free(A[i]);
free(B[i]);
free(C[i]);
}
free(A);
free(B);
free(C);
}
int main() {
int m = 3, n = 4;
add_matrix(m, n);
return 0;
}
```
这个函数中,我们用 malloc() 动态分配了矩阵 A、B 和 C 的空间,然后用 srand() 和 rand() 生成随机数填充矩阵 A 和 B,最后计算并输出矩阵 C。
阅读全文