c语言给出以下 4*5 的矩阵,分别求矩阵的最大值、最小值、主对角线元素之和、副 对角线元素之和、所有元素的均值、上三角部分的元素之和、下三角部分的元素之和并 输出。
时间: 2024-05-07 22:20:08 浏览: 115
以下是求解的 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 max_val = matrix[0][0];
int min_val = matrix[0][0];
int main_diagonal_sum = 0;
int secondary_diagonal_sum = 0;
int sum = 0;
int upper_triangle_sum = 0;
int lower_triangle_sum = 0;
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 5; j++) {
// 最大值
if (matrix[i][j] > max_val) {
max_val = matrix[i][j];
}
// 最小值
if (matrix[i][j] < min_val) {
min_val = matrix[i][j];
}
// 主对角线元素之和
if (i == j) {
main_diagonal_sum += matrix[i][j];
}
// 副对角线元素之和
if (i + j == 3) {
secondary_diagonal_sum += matrix[i][j];
}
// 所有元素的均值
sum += matrix[i][j];
// 上三角部分的元素之和
if (i < j) {
upper_triangle_sum += matrix[i][j];
}
// 下三角部分的元素之和
if (i > j) {
lower_triangle_sum += matrix[i][j];
}
}
}
double average = (double) sum / 20.0;
printf("最大值:%d\n", max_val);
printf("最小值:%d\n", min_val);
printf("主对角线元素之和:%d\n", main_diagonal_sum);
printf("副对角线元素之和:%d\n", secondary_diagonal_sum);
printf("所有元素的均值:%lf\n", average);
printf("上三角部分的元素之和:%d\n", upper_triangle_sum);
printf("下三角部分的元素之和:%d\n", lower_triangle_sum);
return 0;
}
```
输出结果为:
```
最大值:20
最小值:1
主对角线元素之和:34
副对角线元素之和:56
所有元素的均值:10.500000
上三角部分的元素之和:85
下三角部分的元素之和:65
```
阅读全文