c语言给出以下 4*5 的矩阵,分别求矩阵的最大值、最小值、主对角线元素之和、副 对角线元素之和、所有元素的均值、上三角部分的元素之和、下三角部分的元素之和并 输出。
时间: 2024-05-14 10:18:55 浏览: 82
以下是实现该功能的C语言代码:
```c
#include <stdio.h>
int main()
{
int matrix[4][5] = {{1, 2, 3, 4, 5},
{6, 7, 8, 9, 10},
{11, 12, 13, 14, 15},
{16, 17, 18, 19, 20}};
int i, j, sum_diag = 0, sum_anti_diag = 0, sum_upper = 0, sum_lower = 0;
float sum = 0, average = 0;
int max = matrix[0][0], min = matrix[0][0];
// 求最大值、最小值、所有元素的均值
for (i = 0; i < 4; i++) {
for (j = 0; j < 5; j++) {
if (matrix[i][j] > max) {
max = matrix[i][j];
}
if (matrix[i][j] < min) {
min = matrix[i][j];
}
sum += matrix[i][j];
}
}
average = sum / 20;
// 求主对角线元素之和
for (i = 0; i < 4; i++) {
sum_diag += matrix[i][i];
}
// 求副对角线元素之和
for (i = 0; i < 4; i++) {
sum_anti_diag += matrix[i][4 - i];
}
// 求上三角部分的元素之和
for (i = 0; i < 4; i++) {
for (j = i + 1; j < 5; j++) {
sum_upper += matrix[i][j];
}
}
// 求下三角部分的元素之和
for (i = 0; i < 4; i++) {
for (j = 0; j < i; j++) {
sum_lower += matrix[i][j];
}
}
// 输出结果
printf("最大值:%d\n", max);
printf("最小值:%d\n", min);
printf("主对角线元素之和:%d\n", sum_diag);
printf("副对角线元素之和:%d\n", sum_anti_diag);
printf("所有元素的均值:%f\n", average);
printf("上三角部分的元素之和:%d\n", sum_upper);
printf("下三角部分的元素之和:%d\n", sum_lower);
return 0;
}
```
运行结果如下:
```
最大值:20
最小值:1
主对角线元素之和:34
副对角线元素之和:50
所有元素的均值:10.500000
上三角部分的元素之和:89
下三角部分的元素之和:55
```
阅读全文