PTA_L1-054 Fu a las (15 minutos)

L1-054 a la bendición

"Fu" hacia atrás de palo, que significa "bendición". Ya sea en el popular recuento final, esta pregunta y le pedirá que escriba un programa, los distintos personajes de salida boca abajo. Donde cada carácter para ser procesado por una rejilla que consiste en N × N, el elementos de rejilla o @ carácter o un espacio. Los caracteres boca abajo caracteres usadas por los árbitros designados.

Formato de entrada:
caracteres de entrada se dan los caracteres invertidos utilizados, y el tamaño de malla N (un número entero positivo de no más de 100) en la primera fila, separadas por un espacio entre los mismos, seguido de N filas, cada fila da N personajes, o como @ o espacios.

Formato de salida:
salida de la rejilla invertida, como se muestra en la muestra. Sin embargo, si la palabra está llegando este otoño es el mismo que en el pasado, en la primera salida BU Yong DAO le, y luego entrar en las salidas de caracteres especificado.

输入样例 1:
$ 9
 @  @@@@@
@@@  @@@ 
 @   @ @ 
@@@  @@@ 
@@@ @@@@@
@@@ @ @ @
@@@ @@@@@
 @  @ @ @
 @  @@@@@

输出样例 1:
$$$$$  $ 
$ $ $  $ 
$$$$$ $$$
$ $ $ $$$
$$$$$ $$$
 $$$  $$$
 $ $   $ 
 $$$  $$$
$$$$$  $ 

输入样例 2:
& 3
@@@
 @ 
@@@
输出样例 2:
bu yong dao le
&&&
 & 
&&&

Pensando:
definir una matriz de dos dimensiones se utiliza para depositar la figura, si la imagen Figura simétrica y, ya que no tenía, a continuación, poner el indicador es 0, entonces se etiqueta 1. Si es 0 impresión "BU Yong dao le", entonces el patrón de salida. Si se trata de una salida directa de gráficos.

código completo:

#include<stdio.h>
char s[105][105];
int main()
{
    char c;
    int n;
    scanf("%c %d",&c,&n);
    getchar();              //吞换行回车
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<n;j++)
        {
            scanf("%c",&s[i][j]);
        }
        getchar();          //吞换行回车
    }
    int flag=0;
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<n;j++)
        {
            if(s[i][j]!=s[n-i-1][n-j-1])        //对称
            {
                flag=1;
            }
        }
    }
    if(!flag)
    {
        printf("bu yong dao le\n");
    }
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<n;j++)
        {
            if(s[n-i-1][n-j-1] != ' ')
            {
                printf("%c",c);
            }
            else
            {
                printf(" ");
            }
        }
        printf("\n");
    }
    return 0;
}

Enlace a la pregunta original:
https://pintia.cn/problem-sets/994805046380707840/problems/994805076512587776

Publicado 87 artículos originales · 98 fue elogiado · vistas 4949

Supongo que te gusta

Origin blog.csdn.net/qq_45856289/article/details/104881771
Recomendado
Clasificación