D 矩阵相似
描述
给出两幅相同大小的黑白图像(用 0-1 矩阵)表示,求它们的相似度。
说明:若两幅图像在相同位置上的像素点颜色相同,则称它们在该位置具有相同的像
素点。两幅图像的相似度定义为相同像素点数占总像素点数的百分比。
输入
第一行包含一个整数 n,表示图像的行列数。1 <= n <= 100。
之后 n 行,每行 n 个整数 0 或 1,表示第一幅黑白图像上各像素点的颜色。相邻两个
数之间用单个空格隔开。
之后 n 行,每行 n 个整数 0 或 1,表示第二幅黑白图像上各像素点的颜色。相邻两个
数之间用单个空格隔开。
输出
一个实数,表示相似度(以百分比的形式给出),精确到小数点后两位。
(无提示)
代码如下:
#include<stdio.h>
int main()
{
int n,i,j,s,a[100][100],b[100][100];
s=0;
scanf("%d",&n);
for(i=0;i<n;i++)
for(j=0;j<n;j++)
scanf("%d",&a[i][j]);
for(i=0;i<n;i++)
for(j=0;j<n;j++)
scanf("%d",&b[i][j]);
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{
if(a[i][j]==b[i][j])
s++;
}
printf("%.2f",100.00*s/(n*n));
return 0;
}
运行结果如下:
总结:运用了数组,循环语句以及if语句的判断;
是一个很有意思的小程序。