全错,谁能告诉我为什么?
  • 板块P2191 小Z的情书
  • 楼主hm1218
  • 当前回复1
  • 已保存回复1
  • 发布时间2022/10/10 17:11
  • 上次更新2023/10/27 07:59:27
查看原帖
全错,谁能告诉我为什么?
574551
hm1218楼主2022/10/10 17:11
#include<stdio.h>
#include<stdlib.h>

int n;
char **origin;
char **code;

void codeRead(char *code[], char *origin[],int n)
{
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
        {
            if(code[i][j] == 'O')
                printf("%c",origin[i][j]);
        }
    }
}

void codeRotate(char *code[],int n)
{
    char **code2;

    code2 = (char**)malloc(sizeof(char*) * n);

    for (int i = 0; i < n; i++)
    {
        code2[i] = (char*)malloc(sizeof(char) * n);
        for(int j = 0; j < n; j++)
        {
            code2[i][j] = code[i][j];
        }
    }

    for (int i = 0; i < n; i++)
    {
        for (int j = n - 1; j >= 0; j--)
        {
            code[j][n - i - 1] = code2[i][j];
        }
    }

}

void codeInput(char **code,int n)
{
    for (int i = 0; i < n; i++)
    {
        code[i] = (char*)malloc(sizeof(char) * n);
        for (int j = 0; j < n; j++)
        {
            code[i][j] = getchar();
        }
        getchar();
    }
}

void codePrint(char *code[],int n)
{
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
        {
            printf("%c",code[i][j]);
        }
        printf("\n");
    }
}

int main()
{

    scanf("%d",&n);
    getchar();
    code = (char**)malloc(sizeof(char*) * n);
    origin = (char**)malloc(sizeof(char*) * n);

    codeInput(code,n);
    codeInput(origin,n);

    for (int i = 0; i < 4; i++)
    {
        if(i > 0)
            codeRotate(code,n);

        codeRead(code, origin, n);
    }
}



2022/10/10 17:11
加载中...