cesar_codifica.c

来自「Caesar Encoder and Decoder」· C语言 代码 · 共 49 行

C
49
字号
#include <stdlib.h>
#include <stdio.h>//prototipo de la funcion de cifradovoid cesar_cifrado(int llave, const char *textoplano, char *textocifrado);/*******************************************************************
void cesar_cifrado(int llave, const char *textoplano, char *textocifrado)
*******************************************************************/
void cesar_cifrado(int llave, const char *textoplano, char *textocifrado){
    int i;     int tamano = strlen(textoplano);    
    for(i = 0; i < tamano; i++){
        /* si el caracter no es una letra, no lo cambia*/
        if (!isalpha(textoplano[i])){
            textocifrado[i] = textoplano[i];    
        }else{
            textocifrado[i] = (tolower(textoplano[i]) + llave - 'a')%27 + 'a';
        }
    }
    textocifrado[i] = '\0'; /* Null, fin de linea */  
}
int main(int argc, char *argv[]){
    int llave_1;    char *textoplano[255];    /* reserva espacio de memoria para el texto cifrado*/
    char *textocifrado = malloc(strlen(textoplano)+1);        printf ("Texto a cifrar: ");    scanf("%s",textoplano);    printf ("Introduce la llave: ");    scanf("%d",&llave_1);	    			
    char *resultado = malloc(strlen(textoplano)+1);
    
    /* llamada de la funcion de cifrado */
    cesar_cifrado(llave_1, textoplano,textocifrado);
   
    /* imprime los resultados resultados */
    printf("-->texto plano:   %s\n-->texto cifrado: %s\n",textoplano,textocifrado);
        //libera el espacio reservado por la funcion malloc	
    free(textocifrado);
   
    
    return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?