问题描述
给定两个N×M的矩阵,计算其和。其中:
N和M大于等于1且小于等于100,矩阵元素的绝对值不超过1000。
输入格式
输入数据的第一行包含两个整数N、M,表示需要相加的两个矩阵的行数和列数。接下来2*N行每行包含M个数,其中前N行表示第一个矩阵,后N行表示第二个矩阵。
输出格式
你的程序需要输出一个N*M的矩阵,表示两个矩阵相加的结果。注意,输出中每行的最后不应有多余的空格,否则你的程序有可能被系统认为是Presentation Error
解题思路:直接可以用双循环输入两个矩阵,然后再双循环计算结果输出即可
//蓝桥杯算法训练——矩阵求和
#include <stdio.h>
int a[1000][1000],b[1000][1000],c[1000][1000];
int main()
{
int n,m;
int i,j;
scanf("%d%d",&n,&m); //输入矩阵的行数和列数
//输入第一个矩阵
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
scanf("%d",&a[i][j]);
}
}
//输入第二个矩阵
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
scanf("%d",&b[i][j]);
}
}
//直接计算第三个矩阵
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
c[i][j]=a[i][j]+b[i][j];
printf("%d ",c[i][j]);
}printf("\n");
}
return 0;
}