#include <stdio.h> int main() { int m, n, i, j; scanf("%d %d", &m, &n); int arr1[100][100] = {0}; //用二维数组来比较,简洁了不少 int arr2[100][100] = {0}; //题目说了不多于100 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]); //照葫芦画瓢,输入第二个数组的元素 int count = 0; //相同元素的计数,初始为0 for(i=0; i<m; i++) for(j=0; j<n; j++) if(arr1[i][j] == arr2[i][j]) //二维数组元素的比较 count++; float per = 100.0 * count / (m*n); //一定要把100.0乘在前面,而不能乘在后面,而且不能写100,否则会报错 //因为这里count/(m*n)要么=1,要么=0 printf("%.2f\n", per); return 0; }