请编写函数fun, 函数的功能是:实现B=A+A', 即把矩阵A加上A的转置, 存放在矩阵B中。计算结果在 main 函数中输出。例如,输入下面的矩阵: 其转置矩阵为: 1 2 3 1 4 7 4 5 6 2 5 8 7 8 9 3 6 9 程序输出: 2
时间: 2023-12-31 22:05:04 浏览: 207
南开一百题最终word版
以下是函数fun的完整代码实现:
```c
#include <stdio.h>
#define N 3
void fun(double A[][N], double B[][N], int n){
int i, j;
for(i=0; i<n; i++){
for(j=0; j<n; j++){
B[i][j] = A[i][j] + A[j][i]; // 计算B矩阵
}
}
}
int main(){
double A[N][N] = {{1,2,3}, {4,5,6}, {7,8,9}};
double B[N][N];
int i, j;
printf("原始矩阵A:\n");
for(i=0; i<N; i++){
for(j=0; j<N; j++){
printf("%.0f ", A[i][j]);
}
printf("\n");
}
fun(A, B, N);
printf("矩阵B=A+A':\n");
for(i=0; i<N; i++){
for(j=0; j<N; j++){
printf("%.0f ", B[i][j]);
}
printf("\n");
}
return 0;
}
```
在上述代码中,我们定义了一个3x3的矩阵A,其中包含了题目中给定的数据。接着,我们调用函数fun计算A和其转置矩阵的和,并将结果存放在B矩阵中。最后,在main函数中输出A和B矩阵的值。
运行程序,输出结果如下:
```
原始矩阵A:
1 2 3
4 5 6
7 8 9
矩阵B=A+A':
2 6 10
6 10 14
10 14 18
```
可以看到,程序正确地计算出了矩阵A和其转置矩阵的和,并将结果存放在了矩阵B中。
阅读全文