编写程序,把3*3阶矩阵A加上矩阵A的转置,计算结果存放在矩阵B中并输出。
输入说明:输入矩阵A中的元素,数组元素用空格分隔,数组每行用换行分隔
输出说明:输出矩阵B,元素之间用空格分隔,数组每行用换行分隔
输入示例:1 2 3
4 5 6
7 8 9
输出示例: 2 6 10
6 10 14
10 14 18
方法比较简单,直接将矩阵转置了再加就行
#include <stdio.h>
int main() {
int a[3][3], b[3][3];
for (int i = 0; i < 3; i++)
for (int j = 0; j < 3; j++)
scanf("%d", &a[i][j]);
for (int i = 0; i < 3; i++)
for (int j = 0; j < 3; j++)
b[j][i] = a[i][j];
for (int i = 0; i < 3; i++)
for (int j = 0; j < 3; j++)
a[i][j] += b[i][j];
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++)
printf("%d ", a[i][j]);
printf("\n");
}
}
这边循环用的比较多,方法还可以改进。