第一行包含两个整数m和n,表示图像的行数和列数,用单个空格隔开。1≤m≤100, 1≤n≤100。之后m行,每行n个整数0或1,表示第一幅黑白图像上各像素点的颜色,相邻两个数用单个空格隔开。之后m行,每行n个整数0或1,表示第二幅黑白图像上各像素点的颜色,相邻两个数用单个空格隔开。
一个实数,表示相似度(以百分比的形式给出),精确到小数点后两位。
3 3 1 0 1 0 0 1 1 1 0 1 1 0 0 0 1 0 0 1
44.44
#define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> #include <malloc.h> int main() { int row = 0; int col = 0; int* one = NULL; int* two = NULL; int i = 0; int j = 0; float same = 0.0f; scanf("%d%d", &row, &col); //开辟空间,存放2和图像 one = (int*)malloc(sizeof(int) * row * col); if (!one) { perror("malloc:one"); return 1; } two = (int*)malloc(sizeof(int) * row * col); if (!two) { perror("malloc:two"); return 1; } //录入图像1 for (i = 0; i < row; i++) { for (j = 0; j < col; j++) { scanf("%d", one + (i * col) + j); } } //录入图像2 for (i = 0; i < row; i++) { for (j = 0; j < col; j++) { scanf("%d", two + (i * col) + j); } } //比对2个图像差异 for (i = 0; i < row; i++) { for (j = 0; j < col; j++) { if (*(one + (i * col) + j) == *(two + (i * col) + j)) { same++; } } } same = same / (row * col) * 100;//输出的是百分之,故*100 printf("%.2f\n", same); //释放内存 free(one); free(two); one = NULL; two = NULL; return 0; }
#include<stdio.h> int main() { int n, m; scanf("%d %d",&n,&m); int hs[1000][1000]; int ls[1000][1000]; int p = 0; for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { scanf("%d", &hs[i][j]); } } for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { scanf("%d", &ls[i][j]); } } for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { if (hs[i][j] != ls[i][j]) { p++; } } } float s = (1 - (float)p / (n * m)) * 100; printf("%.2f", s); return 0; }
#include <stdio.h> int main() { int m, n; scanf("%d %d", &m, &n); int arr_1[m][n], arr_2[m][n]; for (int i = 0; i < m; i++) { for (int j = 0; j < n; j++) { scanf("%d", &arr_1[i][j]); } } int tag = 0; for (int i = 0; i < m; i++) { for (int j = 0; j < n; j++) { scanf("%d", &arr_2[i][j]); if(arr_1[i][j] == arr_2[i][j]){ tag++; } } } printf("%.2f", (float)tag*100/(m*n)); return 0; }
#include <stdio.h> int main() { int m,n=0; scanf("%d %d",&m,&n); int arr1[100][100]={0}; int arr2[100][100]={0}; int i,j,count=0; for(i=0;i<m;i++) { for(j=0;j<n;j++) { scanf("%d",&arr1[i][j]); } } for(i=0;i<m;i++) { for(j=0;j<n;j++) { scanf("%d",&arr2[i][j]); } } for(i=0;i<m;i++) { for(j=0;j<n;j++) { if(arr1[i][j]==arr2[i][j]) { count++; } } } printf("%.2f\n",100.0*count/(m*n)); return 0; }
#include <stdio.h> int main() { int n,m; scanf("%d %d",&n,&m); int arr[100][100]; int arr1[100][100]; double sum = 0; for(int i = 0;i<n;i++) { for(int j = 0;j<m;j++) { scanf("%d",&arr[i][j]); } } for(int i = 0;i<n;i++) { for(int j = 0;j<m;j++) { scanf("%d",&arr1[i][j]); if(arr1[i][j]==arr[i][j]) sum++; } } printf("%.2lf",sum/(n*m)*100); return 0; }
#include <stdio.h> int main() { int m,n; scanf("%d %d",&m,&n); int i,count = 0; int arr[m][n],aee[m][n]; for(i=0;i<m;i++) { int j; for(j=0;j<n;j++) { scanf("%d ",arr[i]+j); } } for(i=0;i<m;i++) { int j; for(j=0;j<n;j++) { scanf("%d ",aee[i]+j); if(arr[i][j] == aee[i][j]) { count++; } } } float ext = 0.0; ext = 100.0*count/(n*m);//百分比,别忘了,乘以100.0 printf("%.2f",ext); return 0; }
#include <stdio.h> int main() { int n = 0,m = 0,count = 0; double percent = 0.; int arr[106][106] = {0}; int arr2[106][106] = {0}; scanf("%d%d",&n,&m); for(int i = 0;i<n;i++) { for(int j = 0;j<m;j++) { scanf("%d",&arr[i][j]);//输入 } } for(int i = 0;i<n;i++) { for(int j = 0;j<m;j++) { scanf("%d",&arr2[i][j]);//输入 } } for(int i = 0;i<n;i++) { for(int j = 0;j<m;j++) { if(arr[i][j]==arr2[i][j])//记录相同 count++; } } percent = (double)count/(n*m)*100;//计算百分比 printf("%.2lf",percent); return 0; }
#include <stdio.h> #include <stdlib.h> int main() { int m, n; int sum = 0; int count = 0; scanf("%d %d", &n, &m); sum = n * m; int* a1 = (int*)malloc(sizeof(int) * sum); int* a2 = (int*)malloc(sizeof(int) * sum); int i = 0; for (i = 0; i < sum; i++) { scanf("%d", &a1[i]); } for (i = 0; i < sum; i++) { scanf("%d", &a2[i]); if (a1[i] == a2[i]) { count++; } } printf("%.2f", (count / (float)sum)*100); return 0; }
#include<stdio.h> int main() { int arr[100][100] = {0}; int input = 0, n, m, count = 0; scanf("%d %d", &n, &m); for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) scanf("%d", &arr[i][j]); } for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { scanf("%d", &input); if (input == arr[i][j]) count++; } } float ret = (1.0 * count / (n * m) * 1.0) * 100; printf("%.2f\n", ret); return 0; }
#include <stdio.h> int main(){ int n, m; scanf("%d %d", &n, &m); float c = 0, s = n*m; int a1[n][m], a2[n][m]; for(int i = 0; i < n; i++){ for(int j = 0; j < m; j++) scanf("%d", &a1[i][j]); } for(int i = 0; i < n; i++){ for(int j = 0; j < m; j++) scanf("%d", &a2[i][j]); } for(int i = 0; i < n; i++){ for(int j = 0; j < m; j++){ if(a1[i][j] == a2[i][j]) c++; } } printf("%.2f", c/s*100); return 0; }
#include <stdio.h> int main(){ int n, m, arr[10][10]; int x, count = 0; scanf("%d %d", &n, &m); for(int i = 0; i < n; i++){ for(int j = 0; j < m; j++) scanf("%d", &arr[i][j]); } for(int i = 0; i < n; i++){ for(int j = 0; j < m; j++){ scanf("%d", &x); if(x == arr[i][j]) count++; } } printf("%.2f", (float)count / (n * m) * 100); return 0; }
#include<stdio.h> int main() { int m,n; int arr1[100][100]={0}; int arr2[100][100]={0}; int sum=0; double resem=0; scanf("%d%d",&m,&n); for(int i=0;i<m;i++) { for(int j=0;j<n;j++) { scanf("%d",&arr1[i][j]); } } for(int i=0;i<m;i++) { for(int j=0;j<n;j++) { scanf("%d",&arr2[i][j]); if(arr1[i][j]==arr2[i][j]) { sum++; } } } resem=((sum+0.0)/(n*m))*100; printf("%.2f\n",resem); return 0; }
#include<stdio.h> #include<stdlib.h> int main() { int n=0,m=0,sum=0; scanf("%d %d",&n,&m); int**p1=(int**)malloc(n*sizeof(int*)); int**p2=(int**)malloc(n*sizeof(int*)); for(int i=0;i<n;i++) { p1[i]=malloc(m*sizeof(int)); p2[i]=malloc(m*sizeof(int)); } for(int i=0;i<n;i++)//第一个矩阵输入 { for(int k=0;k<m;k++) { scanf("%d",*(p1+i)+k); } getchar(); } for(int i=0;(i<n);i++)//第二个矩阵输入 { for(int k=0;(k<m);k++) { scanf("%d",*(p2+i)+k); if(p1[i][k]==p2[i][k]) sum++; } getchar(); } printf("%.2f\n",100*((float)sum)/(n*m)); for(int i=0;i<n;i++) { free(p1[i]); p1[i]=NULL; free(p2[i]); p2[i]=NULL; } free(p1); p1=NULL; free(p2); p2=NULL; return 0; }
#include<stdio.h> int main(){ int m,n,i,j,count=0; scanf("%d %d",&m,&n); int a[m][n],b[m][n]; for(i=0;i<m;i++){ for(j=0;j<n;j++){ scanf("%d",&a[i][j]); } } for(i=0;i<m;i++){ for(j=0;j<n;j++){ scanf("%d",&b[i][j]); } } for(i=0;i<m;i++){ for(j=0;j<n;j++){ if(a[i][j]==b[i][j]){ count++; } } } printf("%.2f",(float)count/(m*n)*100); }