计算矩阵边缘元素之和
💐The Begin💐点点关注,收藏不迷路💐
|
输入一个整数矩阵,计算位于矩阵边缘的元素之和。所谓矩阵边缘的元素,就是第一行和最后一行的元素以及第一列和最后一列的元素。
输入
第一行分别为矩阵的行数m和列数n(m < 100,n < 100),两者之间以一个空格分开。 接下来输入的m行数据中,每行包含n个整数,整数之间以一个空格分开。
输出
输出对应矩阵的边缘元素和
样例输入
3 3
3 4 1
3 7 1
2 0 1
样例输出
15
先获取矩阵的行数和列数,然后通过循环读取矩阵的每一个元素,在读取过程中判断该元素是否处于矩阵的边缘(即第一行、最后一行、第一列、最后一列),若是边缘元素则将其累加到一个总和变量中,最后输出这个总和变量的值,也就是矩阵边缘元素的总和。
C语言代码
#include <stdio.h>
int main() {
int n, m;
scanf("%d %d", &n, &m); // 读取矩阵的行数n和列数m
int matrix[n][m]; // 定义二维数组来存储矩阵元素
int sum = 0; // 用于累加矩阵边缘元素之和,初始化为0
// 1. 读取矩阵的所有元素,并同时判断是否为边缘元素,若是则累加到总和中
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
scanf("%d", &matrix[i][j]); // 逐行逐列读取矩阵元素
if (i == 0 || i == n - 1 || j == 0 || j == m - 1) { // 判断当前元素是否在矩阵的边缘(第一行、最后一行、第一列、最后一列)
sum += matrix[i][j]; // 如果是边缘元素,将其累加到总和中
}
}
}
printf("%d\n", sum); // 输出矩阵边缘元素之和
return 0;
}
C++ 语言代码
#include <iostream>
using namespace std;
int main() {
int n, m;
cin >> n >> m; // 输入矩阵的行数n和列数m
int matrix[n][m]; // 创建二维数组用于存储矩阵元素
int sum = 0; // 初始化用于累加边缘元素之和的变量为0
// 1. 输入矩阵元素并判断是否为边缘元素,若是则累加
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
cin >> matrix[i][j]; // 依次输入矩阵的每个元素
if (i == 0 || i == n - 1 || j == 0 || j == m - 1) { // 检查当前元素是否处于矩阵边缘(首行、尾行、首列、尾列)
sum += matrix[i][j]; // 若是边缘元素,累加到总和中
}
}
}
cout << sum << endl; // 输出矩阵边缘元素之和
return 0;
}
Java语言代码
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt(); // 获取矩阵的行数n
int m = scanner.nextInt(); // 获取矩阵的列数m
int[][] matrix = new int[n][m]; // 定义二维数组存储矩阵元素
int sum = 0; // 用于累加矩阵边缘元素之和,初始化为0
// 1. 读取矩阵元素并判断是否为边缘元素,若是则累加
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
matrix[i][j] = scanner.nextInt(); // 逐行逐列读取矩阵元素并存入数组
if (i == 0 || i == n - 1 || j == 0 || j == m - 1) { // 判断当前元素是否位于矩阵边缘(首行、尾行、首列、尾列)
sum += matrix[i][j]; // 若为边缘元素,累加到总和中
}
}
}
System.out.println(sum); // 输出矩阵边缘元素之和
}
}
Python语言代码
n, m = map(int, input().split()) // 获取输入的矩阵行数n和列数m
matrix = [list(map(int, input().split())) for _ in range(n)] // 获取输入的矩阵元素,构建二维列表
sum_ = 0 // 初始化用于累加矩阵边缘元素之和的变量为0
# 遍历矩阵元素,判断是否为边缘元素,若是则累加
for i in range(n):
for j in range(m):
if i == 0 or i == n - 1 or j == 0 or j == m - 1: // 判断当前元素是否在矩阵边缘(首行、尾行、首列、尾列)
sum_ += matrix[i][j] // 如果是边缘元素,累加到总和中
print(sum_) // 输出矩阵边缘元素之和
💐The End💐点点关注,收藏不迷路💐
|