1024 - Criptografia

Um problema envolvendo várias etapas diferentes para testar sua paciência e atenção... ///IM!kcpmn!-jfqrkf flc lppF

Solução

Descrição

Apenas seguir cada um dos processos separadamente e procurar não colocar um passo na frente do outro. Saber como acessar o código ASCII de um caractere ajuda demais com esse problema, então procure como fazer isso na sua linguagem de programação.

#include <string.h>
#include <stdio.h>
#include <ctype.h>

int main(){
    int N, n;
    char aux, M[1001];

    scanf("%d\n", &N);

    for(int i = 0; i < N; ++i){
        scanf("%[^\n]\n", &M);

        n = strlen(M);
        for(int j = 0; j < n; ++j){
            if(isalpha(M[j])){
                M[j] += 3;
            }
        }
        for(int j = 0; j < n/2; ++j){
            aux = M[j];
            M[j] = M[n - 1 - j];
            M[n - 1 - j] = aux;
        }
        for(int j = n/2; j < n; ++j){
            --M[j];
        }

        printf("%s\n", M);
    }

    return 0;
}

Last updated