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;
}
<이상>
'C' 카테고리의 다른 글
C 언어, 현재 날짜 시간 출력 (0) | 2018.07.27 |
---|---|
Find TEXTFILE (파일 목록 출력하기) (0) | 2018.07.27 |
C 언어, 현재 사용 중인 한글 코드를 검사하기 (0) | 2018.07.15 |
C 언어, 멀티바이트와 와이드바이트문자 문자열 변환 예제 (0) | 2018.07.14 |
윈도우 메모장에서 저장한 텍스트 파일의 한글 코드 종류 확인 (0) | 2018.07.13 |