반응형

C 언어, 시저 암호화 예제

 

글.  오상문 sualchi@daum.net

 

"AbaGhcg" 문자열을 5칸 옆으로 밀면 "FgfLmhl"
"AbaGhcg" 문자열을 25칸 옆으로 밀면 "ZazFgbf"

 

예제 코드는 다음과 같습니다.

 

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

 

char* solution(char* s, int n) {
    int i;
    unsigned char c;  
   
    for(i=0; i<strlen(s); i++) {    
        c = s[i];       
        if(c >= 'a' && c <= 'z') {
            c += n;
            if(c <= 'z') 
                s[i] = c;  
            else 
                s[i] = c%('z'+1)+'a'; 
        } else if(c >= 'A' && c <= 'Z') {      
            c += n;
            if(c <= 'Z') 
                s[i] = c;  
            else 
                s[i] = c%('Z'+1)+'A';                
        }   
    }        
    return s;
}

 

int main() {
  char s[] = "AbaGhcg";
  char s2[] = "AbaGhcg";
  
  printf("%s\n", solution(s, 5));   // FgfLmhl
  printf("%s\n", solution(s2, 26)); // ZazFgbf
 
  return 0;
}

 

<이상>

 

반응형

+ Recent posts