求两个矩阵的和,然后求出矩阵对角线上元素之和
程序员文章站
2022-07-15 12:07:23
...
两个矩阵求和:首先两个矩阵的行数和列数应一致,然后将相同位置上的两个数相加保存到其中一个数组中,再输出。
矩阵对角线上的元素之和:对角线上元素的行号和列号的具有的特征:1、行号等于列号;2、行号与列号之和为总行数。
即:
if (i != SIZE - 1 - i)
sum += array1[i][i] + array1[i][SIZE - 1 - i];
else
sum += array1[i][i];
完整代码如下:
#include<stdio.h>
#include<stdlib.h>
#define SIZE 3
int main()
{
int array1[SIZE][SIZE] = { 1,2,3,4,5,6,7,8,9 };
int array2[SIZE][SIZE] = { 10,11,12,13,14,15,16,17,18 };
int i = 0;
int j = 0;
int sum = 0;
for (i = 0; i < SIZE; ++i)
{
for (j = 0; j < SIZE; j++)
{
array1[i][j] += array2[i][j];
printf("%-6d", array1[i][j]);
}
printf("\n");
}
for (i = 0; i < SIZE; ++i)
{
if (i != SIZE - 1 - i)
sum += array1[i][i] + array1[i][SIZE - 1 - i];
else
sum += array1[i][i];
}
printf("对角线之和为:%d\n", sum);
system("pause");
}
输出结果为: