这道牛客题以其中一种理解方式就是让你创造两个n*m的数组,然后再给他们赋值,
最后判断这两个数组的内容相同不。
这个程序需要你创建一个赋值函数
void define(int arr[10][10],int n,int m)
{
int i = 0;
int j = 0;
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
scanf("%d",&arr[i][j]);
}
}
}
还需要一个判断数组是否相等函数
int is_same(int arr1[][10],int arr2[][10],int n,int m)
{
int i = 0;
int j = 0;
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
if(arr1[i][j]!=arr2[i][j])
{
return 0;
}
}
}
return 1;
}
我这里设置的是如果不相等我就返回0;
反之相等我就返回1;
最后的代码为:
#include <stdio.h>
void define(int arr[10][10],int n,int m)
{
int i = 0;
int j = 0;
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
scanf("%d",&arr[i][j]);
}
}
}
int is_same(int arr1[][10],int arr2[][10],int n,int m)
{
int i = 0;
int j = 0;
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
if(arr1[i][j]!=arr2[i][j])
{
return 0;
}
}
}
return 1;
}
int main()
{
int a, b;
int n = 0;
int m = 0;
int same = 0;
scanf("%d %d",&n,&m);
int arr1[10][10]={0};
int arr2[10][10]={0};
int i = 0;
int j = 0;
define(arr1,n,m);
define(arr2,n,m);
same =is_same(arr1,arr2,n,m);
if(same==1)
printf("Yes\n");
else
printf("No\n");
return 0;
}