输入一个4×4的整数矩阵,求该矩阵的外围元素之和,主对角线元素之和以及副对角线元素之和。 【输入】 输入一个4×4的整数矩阵。 分4行,每行4个整数,整数之间以空格间隔。 【输出】 分行输出矩阵的外围元素之和,主对角线元素之和以及副对角线元素之和。用c语音实现
时间: 2025-01-07 18:14:12 浏览: 57
以下是一个用C语言实现的程序,用于输入一个4×4的整数矩阵,并计算该矩阵的外围元素之和、主对角线元素之和以及副对角线元素之和。
```c
#include <stdio.h>
#define SIZE 4
int main() {
int matrix[SIZE][SIZE];
int sumOuter = 0, sumMainDiagonal = 0, sumSecondaryDiagonal = 0;
// 输入矩阵
printf("请输入一个4x4的整数矩阵,每行4个整数,以空格分隔:\n");
for (int i = 0; i < SIZE; i++) {
for (int j = 0; j < SIZE; j++) {
scanf("%d", &matrix[i][j]);
}
}
// 计算外围元素之和
for (int i = 0; i < SIZE; i++) {
for (int j = 0; j < SIZE; j++) {
if (i == 0 || i == SIZE - 1 || j == 0 || j == SIZE - 1) {
sumOuter += matrix[i][j];
}
}
}
// 计算主对角线元素之和
for (int i = 0; i < SIZE; i++) {
sumMainDiagonal += matrix[i][i];
}
// 计算副对角线元素之和
for (int i = 0; i < SIZE; i++) {
sumSecondaryDiagonal += matrix[i][SIZE - 1 - i];
}
// 输出结果
printf("外围元素之和:%d\n", sumOuter);
printf("主对角线元素之和:%d\n", sumMainDiagonal);
printf("副对角线元素之和:%d\n", sumSecondaryDiagonal);
return 0;
}
```
### 代码说明:
1. **输入矩阵**:程序首先提示用户输入一个4×4的整数矩阵。
2. **计算外围元素之和**:通过双重循环遍历矩阵的所有元素,如果元素在第一行、最后一行、第一列或最后一列,则将其加到`sumOuter`中。
3. **计算主对角线元素之和**:通过单层循环遍历矩阵的主对角线元素,即`matrix[i][i]`,并将其加到`sumMainDiagonal`中。
4. **计算副对角线元素之和**:通过单层循环遍历矩阵的副对角线元素,即`matrix[i][SIZE - 1 - i]`,并将其加到`sumSecondaryDiagonal`中。
5. **输出结果**:最后,程序输出计算得到的外围元素之和、主对角线元素之和以及副对角线元素之和。
阅读全文
相关推荐



















