题目:
实现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 6 10
6 10 14
10 14 18
分析:
矩阵的转置与矩阵的关系。a[i][j]的转置就变成了a[j][i]
这样就好求了,即可以写成:
b[i][j]=a[i][j]+a[j][i];
代码如下:
/*
实现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 6 10
6 10 14
10 14 18
*/
#include <stdio.h>
void fun ( int a[3][3], int b[3][3])
{
int i,j;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
b[i][j]=a[i][j]+a[j][i];
}
}
}
void main( ) /* 主程序 */
{
int a[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}, t[3][3] ;
int i, j ;
fun(a, t) ;
for (i = 0 ; i < 3 ; i++)
{
for (j = 0 ; j < 3 ; j++)
{
printf("%7d", t[i][j]) ;
}
printf("\n") ;
}
}
结果为: