【问题描述】
对于多个N阶矩阵,依次进行加、减运算。
- 代码实现
//2020/3/21
#include<stdio.h>
const int MAX = 20;
int N;
void input_matric(int B[MAX][MAX])
{
int i,j;
for(i = 0;i<N;i++)
{
for(j = 0;j<N;j++)
{
scanf("%d",&B[i][j]);
}
}
}
void add(int A[MAX][MAX],int B[MAX][MAX])
{
int i,j;
for(i = 0;i<N;i++)
{
for(j = 0;j<N;j++)
{
A[i][j] = A[i][j] + B[i][j];
}
}
}
void reduce(int A[MAX][MAX],int B[MAX][MAX])
{
int i,j;
for(i = 0;i<N;i++)
{
for(j = 0;j<N;j++)
{
A[i][j] = A[i][j] - B[i][j];
}
}
}
void print(int A[MAX][MAX])
{
int i,j;
for(i = 0;i<N;i++)
{
for(j = 0;j<N;j++)
{
if(j == N-1)
{
printf("%5d\n",A[i][j]);
}
else
{
printf("%5d",A[i][j]);
}
}
}
}
int main()
{
int A[MAX][MAX];
int B[MAX][MAX];
char op;
//int i,j,k;
scanf("%d",&N);
input_matric(A);
getchar();
while(scanf("%c",&op) && op != '#')
{
printf("Hello\n");
input_matric(B);
switch (op)
{
case '+':
{
add(A,B);
break;
}
case '-':
{
reduce(A,B);
break;
}
default:
{
break;
}
}
getchar();
}
print(A);
return 0;
}