相关试题链接:矩阵相等判定
思路:循环,对每个矩阵的数据进行判断即可
#include<stdio.h>
int main()
{
int arr1[10][10];
int arr2[10][10];
int n=0;
int m=0;
scanf("%d %d",&n,&m);
int i=0;//行
int j=0;//列
int flag=1;//标记符号
//第一个矩阵
for( i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
scanf("%d",&arr1[i][j]);
}
}
//第二个矩阵
for( i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
scanf("%d",&arr2[i][j]);
}
}
for( i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
if(arr1[i][j]!=arr2[i][j])
{
flag=0;
}
}
}
if(flag==1)
{
printf("Yes");
}
else{
printf("No");
}
return 0;
}
改进方法:在读取第二个矩阵的时候,就与第一个矩阵数据进行比较,省了第三个for循环
#include<stdio.h>
int main()
{
int arr1[10][10];
int arr2[10][10];
int n=0;
int m=0;
scanf("%d %d",&n,&m);
int i=0;//行
int j=0;//列
int flag=1;//标记符号
//第一个矩阵
for( i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
scanf("%d",&arr1[i][j]);
}
}
//第二个矩阵
for( i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
scanf("%d",&arr2[i][j]);
if(arr1[i][j]!=arr2[i][j])
{
flag=0;
}
}
}
if(flag==1)
{
printf("Yes");
}
else{
printf("No");
}
return 0;
}