c语言自定义二维整数数组,实现5行5列矩阵的转置, 计算转置前(后)主、副对角线上元素之和。(注意:两条对角线相交的元素只加一次) 计算矩阵与转置矩阵的乘积。
时间: 2024-05-02 22:19:14 浏览: 88
很高兴回答您的问题!关于您的问题,可以使用下面的c语言代码来实现5行5列矩阵的转置,计算转置前(后)主、副对角线上元素之和,并计算矩阵与转置矩阵的乘积:
```c
#include <stdio.h>
int main() {
int a[5][5] = {{1, 2, 3, 4, 5},
{6, 7, 8, 9, 10},
{11, 12, 13, 14, 15},
{16, 17, 18, 19, 20},
{21, 22, 23, 24, 25}};
int b[5][5] = {{0}};
int sum1 = 0, sum2 = 0;
int i, j, k;
// 转置矩阵并计算转置前(后)主、副对角线上元素之和
for (i = 0; i < 5; i++) {
for (j = 0; j < 5; j++) {
b[i][j] = a[j][i];
if (i == j) {
sum1 += a[i][j];
sum2 += a[i][4-i];
}
}
}
printf("转置前主对角线之和:%d,副对角线之和:%d\n", sum1, sum2);
// 计算矩阵与转置矩阵的乘积
for (i = 0; i < 5; i++) {
for (j = 0; j < 5; j++) {
int s = 0;
for (k = 0; k < 5; k++) {
s += a[i][k] * b[k][j];
}
printf("%6d", s);
}
printf("\n");
}
return 0;
}
```
如果您还有其他问题,欢迎随时提出!
阅读全文