矩阵加法
- C语言代码
- C++ 语言代码
- Java语言代码
- Python语言代码
💐The Begin💐点点关注,收藏不迷路💐 |
输入两个n行m列的矩阵A和B,输出它们的和A+B。
输入
第一行包含两个整数n和m,表示矩阵的行数和列数。1 <= n <= 100,1 <= m <= 100。<
接下来n行,每行m个整数,表示矩阵A的元素。
接下来n行,每行m个整数,表示矩阵B的元素。
相邻两个整数之间用单个空格隔开,每个元素均在1~1000之间。
输出
n行,每行m个整数,表示矩阵加法的结果。相邻两个整数之间用单个空格隔开
样例输入
3 3
1 2 3
1 2 3
1 2 3
1 2 3
4 5 6
7 8 9
样例输出
2 4 6
5 7 9
8 10 12
提示
输入两个n行m列的矩阵A和B,输出它们的和A+B。
先获取矩阵的行数和列数,然后分别读取两个矩阵的元素,接着通过两层循环遍历矩阵的每个元素位置,将两个矩阵对应位置的元素相加并存入结果矩阵(或列表)中,最后按照矩阵的格式输出相加后的结果矩阵。
C语言代码
#include <stdio.h>int main() {int n, m;scanf("%d %d", &n, &m); // 读取矩阵的行数n和列数mint matrixA[n][m]; // 定义二维数组来存储矩阵A的元素int matrixB[n][m]; // 定义二维数组来存储矩阵B的元素int result[n][m]; // 定义二维数组来存储矩阵相加的结果// 1. 读取矩阵A的元素for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {scanf("%d", &matrixA[i][j]); // 逐行逐列读取矩阵A的元素}}// 2. 读取矩阵B的元素for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {scanf("%d", &matrixB[i][j]); // 逐行逐列读取矩阵B的元素}}// 3. 计算矩阵A和矩阵B对应元素相加,得到结果矩阵for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {result[i][j] = matrixA[i][j] + matrixB[i][j]; // 对应位置元素相加并存入结果矩阵}}// 4. 输出结果矩阵for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {printf("%d ", result[i][j]); // 逐行逐列输出结果矩阵的元素}printf("\n");}return 0;
}
C++ 语言代码
#include <iostream>
using namespace std;int main() {int n, m;cin >> n >> m; // 输入矩阵的行数n和列数mint matrixA[n][m]; // 创建二维数组存储矩阵A的元素int matrixB[n][m]; // 创建二维数组存储矩阵B的元素int result[n][m]; // 创建二维数组存储矩阵相加的结果// 1. 输入矩阵A的元素for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {cin >> matrixA[i][j]; // 逐行逐列输入矩阵A的元素}}// 2. 输入矩阵B的元素for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {cin >> matrixB[i][j]; // 逐行逐列输入矩阵B的元素}}// 3. 计算矩阵A和矩阵B对应元素相加,得到结果矩阵for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {result[i][j] = matrixA[i][j] + matrixB[i][j]; // 将对应位置元素相加,存入结果矩阵}}// 4. 输出结果矩阵for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {cout << result[i][j] << " "; // 逐行逐列输出结果矩阵元素}cout << 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(); // 获取矩阵的行数nint m = scanner.nextInt(); // 获取矩阵的列数mint[][] matrixA = new int[n][m]; // 定义二维数组存储矩阵A的元素int[][] matrixB = new int[n][m]; // 定义二维数组存储矩阵B的元素int[][] result = new int[n][m]; // 定义二维数组存储矩阵相加的结果// 1. 读取矩阵A的元素for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {matrixA[i][j] = scanner.nextInt(); // 逐行逐列读取矩阵A的元素并存入数组}}// 2. 读取矩阵B的元素for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {matrixB[i][j] = scanner.nextInt(); // 逐行逐列读取矩阵B的元素并存入数组}}// 3. 计算矩阵A和矩阵B对应元素相加,得到结果矩阵for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {result[i][j] = matrixA[i][j] + matrixB[i][j]; // 对应位置元素相加,结果存入结果矩阵}}// 4. 输出结果矩阵for (int i = 0; i < n; i++) {for (int j = 0; j < m; j++) {System.out.print(result[i][j] + " "); // 逐行逐列输出结果矩阵元素}System.out.println();}}
}
Python语言代码
n, m = map(int, input().split()) // 获取输入的矩阵行数n和列数m
matrixA = [list(map(int, input().split())) for _ in range(n)] // 获取矩阵A的元素,构建二维列表
matrixB = [list(map(int, input().split())) for _ in range(n)] // 获取矩阵B的元素,构建二维列表result = [] // 创建一个空列表,用于存储矩阵相加的结果# 计算矩阵A和矩阵B对应元素相加,得到结果矩阵
for i in range(n):row = [] // 为结果矩阵的每一行创建一个空列表for j in range(m):row.append(matrixA[i][j] + matrixB[i][j]) // 对应位置元素相加,添加到当前行列表result.append(row) // 将当前行列表添加到结果矩阵列表中# 输出结果矩阵
for row in result:print(" ".join(map(str, row))) // 将每行的整数列表转换为字符串,用空格连接后输出
💐The End💐点点关注,收藏不迷路💐 |