不知道为什么第二个示例就会错
#include<stdio.h>
int main()
{
char m[11][11],M[11][11],m1[11][11],m2[11][11],m3[11][11],m4[11][11],m5[11][11],m6[11][11],m7[11][11];
int i, j, z, n,sum1=0,sum2=0,sum3=0,sum4=0,sum5=0,sum6=0,sum7=0,sum=0;
char k;
scanf("%d", &n);
scanf("%c",&k);
for (i = 0; i < n;i++)
{
for (j = 0; j <= n; j++)
{
scanf("%c", &m[i][j]);
}
}
for (i = 0; i < n; i++)
{
for (j = 0; j <= n; j++)
{
scanf("%c", &M[i][j]);
}
}
//水平反转
for (i = 0; i < n; i++)//打表水平反转
{
for (j = 0; j < n; j++)
{
m4[i][j] = m[i][n - 1 - j];
}
}
//90度反转
for (i = 0; i < n; i++)//打表90翻转
{
for (z = 0; z < n; z++)
{
m1[z][n - 1 - i] = m[i][z];
}
}
for (i = 0; i < n; i++)//打表180翻转
{
for (z = 0; z < n; z++)
{
m2[n - 1 - i][n - 1 - z] = m[i][z];
}
}
for (i = 0; i < n; i++)//打表270翻转
{
for (z = 0; z < n; z++)
{
m3[n - 1 - z][i] = m[i][z];
}
}//下面是左右反转后旋转
for (i = 0; i < n; i++)//打表90翻转
{
for (z = 0; z < n; z++)
{
m5[z][n - 1 - i] = m4[i][z];
}
}
for (i = 0; i < n; i++)//打表180翻转
{
for (z = 0; z < n; z++)
{
m6[n - 1 - z][n - 1 - i] = m4[i][z];
}
}
for (i = 0; i < n; i++)//打表270翻转
{
for (z = 0; z < n; z++)
{
m7[n - 1 - z][i] = m4[i][z];
}
}
for (i = 0; i < n; i++)
{
for (j = 0; j < n; j++)
{
if (m1[i][j] == M[i][j])
{
sum1++;
}
if (m2[i][j] == M[i][j])
{
sum2++;
}
if (m3[i][j] == M[i][j])
{
sum3++;
}
if (m4[i][j] == M[i][j])
{
sum4++;
}
if (m5[i][j] == M[i][j])
{
sum5++;
}
if (m6[i][j] == M[i][j])
{
sum6++;
}
if (m7[i][j] == M[i][j])
{
sum7++;
}
if (m[i][j] == M[i][j])
{
sum++;
}
}
}
if (sum1 == n*n)
{
printf("1");
}else if (sum2 == n * n)
{
printf("2");
}
else if (sum3 == n * n)
{
printf("3");
}
else if (sum4 == n * n)
{
printf("4");
}
else if (sum5 == n * n)
{
printf("5");
}
else if (sum6 == n * n)
{
printf("5");
}
else if (sum7 == n * n)
{
printf("5");
}else if (sum == n * n)
{
printf("6");
}
else
{
printf("7");
}
return 0;
}