题解 | #图像相似度#
图像相似度
http://www.nowcoder.com/practice/f2952ee3bb5c48a9be6c261e29dd1092
#include<stdio.h>
#include<malloc.h>
int main(void)
{
int m,n;
scanf("%d %d",&m,&n);
int **a=(int **)malloc(sizeof(int *)*m);//这是动态分配二维数组空间
int **b=(int **)malloc(sizeof(int *)*m);
for(int i=0;i<m;i++)
a[i]=(int *)malloc(sizeof(int)*n);
for(int i=0;i<m;i++)
b[i]=(int *)malloc(sizeof(int)*n);
// int a[100][100],b[100][100];//刚开始做是定义两个二维数组,后面尝试了下上面的动态分配二维数组内存
for(int i=0;i<m;i++)
for(int j=0;j<n;j++)
scanf("%d",&a[i][j]);
for(int i=0;i<m;i++)
for(int j=0;j<n;j++)
scanf("%d",&b[i][j]);
int count=0;
for(int i=0;i<m;i++)
for(int j=0;j<n;j++)
{
if(a[i][j]==b[i][j])
count++;
}
printf("%.2f",100.0*count/(m*n));
return 0;
}