#include<stdio.h>
int main()
{
int n, m, i, j, sum = 0;
scanf("%d %d", &n, &m);
int a[100][100], b[100][100];
for (i = 0; i < n; i++)
for (j = 0; j < m; j++)
scanf("%d", &a[i][j]);
for (i = 0; i < n; i++)
for (j = 0; j < m; j++)
scanf("%d", &b[i][j]);
if (a[i][j] == b[i][j])
sum = sum + 1;
printf("%.2f", 100 * (double)sum / (n * n));
return 0;
}
我现在使用的编译器不支持数组定义时里面是未知数,即便在上面scanf了,所以还是建议写成我这样
把 "%d%d" 改成 "%d"
代码修改如下,修改的地方在注释里
#include<stdio.h>
int main()
{
int n, m, i, j, sum =0;
scanf("%d %d", &n, &m);
int a[n][m], b[n][m];
for (i = 0; i < n; i++)
for (j = 0; j < m; j++)
scanf("%d", &a[i][j]); //只输入一个值,就写一个%d
for (i = 0; i < n; i++)
for (j = 0; j < m; j++)
scanf("%d", &b[i][j]); //只输入一个值,就写一个%d
if (a[i][j] == b[i][j]) // 用==判断是否相等
sum = sum + 1;
printf("%.2f", 108 * (double)sum / (n * n)); //想要以浮点数输出,需将数据类型转换
return 0;
}