C,只对一个,麻烦看一下谢谢
查看原帖
C,只对一个,麻烦看一下谢谢
841083
luckly_lucky_lucky楼主2023/3/21 16:29
#include <stdio.h>
#include <string.h>
int work1(int n,char yuan[][8],char hou[][8])//90
{
    int i,j;
    char yes[8][8];
    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
        {
            yes[j][n-i-1]=yuan[i][j];//
        }
    }

    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
        {
            if(hou[i][j]!=yes[i][j])
                return 0;
        }
    }
    return 1;
}

int work2(int n,char yuan[][8],char hou[][8])//180
{
    int i,j;
    char yes[8][8];
    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
        {
            yes[n-i-1][n-j-1]=yuan[i][j];//00-22,01-21,22-00//
        }
    }

    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
        {
            if(hou[i][j]!=yes[i][j])
                return 0;
        }
    }
    return 1;
}

int work3(int n,char yuan[][8],char hou[][8])//270
{
    int i,j;
    char yes[8][8];
    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
        {
            yes[n-j-1][i]=yuan[i][j];//00-22,01-21,22-00//
        }
    }

    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
        {
            if(hou[i][j]!=yes[i][j])
                return 0;
        }
    }
    return 1;
}
int work4(int n,char yuan[][8],char hou[][8])//ˮƽ
{
    int i,j;
    char yes[8][8];
    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
        {
            yes[i][n-j-1]=yuan[i][j];//00-22,01-21,22-00//
        }
    }

    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
        {
            if(hou[i][j]!=yes[i][j])
                return 0;
        }
    }
    return 1;
}
int work5(int n,char yuan[][8],char hou[][8])//ˮƽ++
{
    int i,j;
    char yes[8][8];
    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
        {
            yes[i][n-j-1]=yuan[i][j];//00-22,01-21,22-00
        }
    }
    if(work1(n, yes, hou)||work2(n, yes, hou)||work3(n, yes, hou))
        return 1;
    return 0;
}
int work6(int n,char yuan[8][8],char hou[8][8])//不改变
{
    int i,j;
    for(i=0;i<n;i++)
        for(j=0;j<n;j++)
        {
            if(yuan[i][j]!=hou[i][j])
                return 0;
        }
    return 1;
}
int main()
{
    int n;
    char yuan[8][8],hou[8][8],yes[8][8];
    int i,j,flag[7]={1,1,1,1,1,1,1};
    scanf("%d",&n);
    getchar();
    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
        {
            yuan[i][j]=getchar();
        }
        getchar();
    }
    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
        {
            hou[i][j]=getchar();
        }
        getchar();
    }

    if(work1(n, yuan, hou))
    {
        printf("1");
        return 0;
    }

    if(work2(n, yuan, hou))
    {
        printf("2");
        return 0;
    }

    if(work3(n, yuan, hou))
    {
        printf("3");
        return 0;
    }

    //4:
    if(work4(n, yuan, hou))
    {
        printf("4");
        return 0;
    }

    //5:
    if(work5(n, yuan, hou))
    {
        printf("5");
        return 0;
    }

    if(work6(n,yuan,hou))
    {
        printf("6");
        return 0;
    }

    printf("7");
    return 0;
}
2023/3/21 16:29
加载中...