문자열 변환 출력
2024. 6. 29. 21:41ㆍ정보처리,전산/Clang
반응형
#include <stdio.h>
#include <string.h>
int IsUpper(char c) {
if (c >= 'A' && c <= 'Z') return 1;
else return 0;
}
int IsLower(char c) {
if (c >= 'a' && c <= 'z') return 1;
else return 0;
}
int IsNum(char c) {
if (c >= '0' && c <= '9') return 1;
else return 0;
}
void caesar(char *p) { // 포인터 변수로 받음
while (*p != 0) { // null 값이면 끝냄
if (IsUpper(*p)) printf("%c", (*p - 'A' + 5) % 26 + 'A');
else if (IsLower(*p)) printf("%c", (*p - 'a' + 10) % 26 + 'a');
else if (IsNum(*p)) printf("%c", (*p - '0' + 3) % 10 + '0');
else printf("%c", *p);
p++;
}
}
int main() {
char *pw = "it is 8";
// 포인터 변수를 선언하고 문자열을 대입한다.
caesar(pw); // *p로 pw 값 전달.
return 0;
}
- 'i'는 소문자이므로 10글자 뒤의 문자 's'로 변환
- 't'는 소문자이므로 10글자 뒤의 문자 'd'로 변환
- 공백 문자는 그대로 출력
- '8'은 숫자이므로 3 더한 숫자 '1'로 변환
반응형